Prepare the Remote Agent code base for parent process event dispatching
Categories
(Remote Protocol :: Agent, task, P2)
Tracking
(Not tracked)
People
(Reporter: whimboo, Assigned: whimboo)
References
(Blocks 9 open bugs)
Details
(Whiteboard: [webdriver:m13], [wptsync upstream])
Attachments
(3 files, 1 obsolete file)
Dispatching events from the parent process will cause us to have to update the Actions module in certain ways. This bug covers the required work to prepare the code base for widget level events:
- Move the JSON deserialization and Actions processing code entirely into the parent process. Use the MarionetteCommandsActor for IPC communication to call specific EventUtils methods in the content process.
Assignee | ||
Comment 1•3 months ago
|
||
As best we should have the new wdspec job created first to ensure that we do not introduce regressions.
Assignee | ||
Updated•2 months ago
|
Assignee | ||
Comment 2•2 months ago
|
||
Actually we wont need the extra wdspec jobs for this particular work so removing it from the dependency list.
Assignee | ||
Comment 3•1 month ago
|
||
Assignee | ||
Comment 4•1 month ago
|
||
Assignee | ||
Comment 5•1 month ago
|
||
Assignee | ||
Comment 6•1 month ago
|
||
I pushed a try build for the current WIP patches:
https://treeherder.mozilla.org/jobs?repo=try&revision=e30e8759131cb38d647229652100f68b7f47d189
Assignee | ||
Comment 7•1 month ago
|
||
New try build with additional fixes and running all the web-platform tests to check if there are any other issues left:
https://treeherder.mozilla.org/jobs?repo=try&revision=b6dbec1ac4bce58838d452b4df9e12dc8c0f07e0
Updated•1 month ago
|
Updated•1 month ago
|
Assignee | ||
Comment 8•28 days ago
|
||
Updated•28 days ago
|
Updated•28 days ago
|
Assignee | ||
Updated•27 days ago
|
Comment 11•25 days ago
|
||
Backed out 5 changesets (Bug 1915798, Bug 1904665) for causing failures pointer_mouse_drag.py
Logs:
wd3: https://treeherder.mozilla.org/logviewer?job_id=473255292&repo=autoland&lineNumber=74600
wd1: https://treeherder.mozilla.org/logviewer?job_id=473248013&repo=autoland&lineNumber=182853
Backout: https://hg.mozilla.org/integration/autoland/rev/af6d5b1328c3584008d7423fcdb7a3d0919b1de2
Assignee | ||
Comment 12•22 days ago
|
||
The test failures that caused this backout are related to pointer actions of type mouse
and are appearing in drag & drop tests. The issue seems to be that the target coordinates for the draggable element are incorrect, resulting in the element not being dragged to the expected position, or the command returns too early, causing the checks to fail.
I attempted to reproduce the issue locally but didn't encounter any problems with the tests. I'm not sure yet what's different about the macOS workers in CI that's causing only those tests to fail.
Assignee | ||
Comment 13•22 days ago
|
||
Here is the difference between a passing and failing test:
PASS:
[task 2024-09-06T21:35:33.031Z] 21:35:33 INFO - PID 2775 | 1725658533029 Marionette DEBUG 0 -> [0,523,"WebDriver:PerformActions",{"actions":[{"actions":[{"origin":{"element-6066-11e4-a52e-4f735466cecf":"5e7614ac-7dcc-4503-8593-611f5332dc0d"},"type":"pointerMove","x":0,"y":0},{"button":0,"type":"pointerDown"},{"duration":0,"origin":"pointer","type":"pointerMove","x":20,"y":0},{"button":0,"type":"pointerUp"},{"duration":100,"origin":"pointer","type":"pointerMove","x":80,"y":50}],"id":"pointer_id","parameters":{"pointerType":"mouse"},"type":"pointer"}]}]
[task 2024-09-06T21:35:33.033Z] 21:35:33 INFO - PID 2775 | 1725658533032 Marionette TRACE Dispatching tick 1/5
[task 2024-09-06T21:35:33.033Z] 21:35:33 INFO - PID 2775 | 1725658533033 Marionette TRACE Dispatch PointerMoveAction mouse with id: pointer_id x: 0 y: 0
[task 2024-09-06T21:35:33.040Z] 21:35:33 INFO - PID 2775 | 1725658533039 Marionette TRACE moveOverTime start: 0,0 target: 58,303 duration: 0
[task 2024-09-06T21:35:33.041Z] 21:35:33 INFO - PID 2775 | 1725658533039 Marionette TRACE PointerMoveAction.performPointerMoveStep [58,303]
[task 2024-09-06T21:35:33.047Z] 21:35:33 INFO - PID 2775 | 1725658533046 Marionette TRACE Dispatching tick 2/5
[task 2024-09-06T21:35:33.048Z] 21:35:33 INFO - PID 2775 | 1725658533046 Marionette TRACE Dispatch PointerDownAction mouse with id: pointer_id button: 0
[task 2024-09-06T21:35:33.059Z] 21:35:33 INFO - PID 2775 | 1725658533058 Marionette TRACE Dispatching tick 3/5
[task 2024-09-06T21:35:33.060Z] 21:35:33 INFO - PID 2775 | 1725658533058 Marionette TRACE Dispatch PointerMoveAction mouse with id: pointer_id x: 20 y: 0
[task 2024-09-06T21:35:33.062Z] 21:35:33 INFO - PID 2775 | 1725658533061 Marionette TRACE moveOverTime start: 58,303 target: 78,303 duration: 0
[task 2024-09-06T21:35:33.063Z] 21:35:33 INFO - PID 2775 | 1725658533061 Marionette TRACE PointerMoveAction.performPointerMoveStep [78,303]
[task 2024-09-06T21:35:33.069Z] 21:35:33 INFO - PID 2775 | 1725658533068 Marionette TRACE Dispatching tick 4/5
[task 2024-09-06T21:35:33.070Z] 21:35:33 INFO - PID 2775 | 1725658533068 Marionette TRACE Dispatch PointerUpAction mouse with id: pointer_id button: 0
[task 2024-09-06T21:35:33.075Z] 21:35:33 INFO - PID 2775 | 1725658533074 Marionette TRACE Dispatching tick 5/5
[task 2024-09-06T21:35:33.076Z] 21:35:33 INFO - PID 2775 | 1725658533074 Marionette TRACE Dispatch PointerMoveAction mouse with id: pointer_id x: 80 y: 50
[task 2024-09-06T21:35:33.078Z] 21:35:33 INFO - PID 2775 | 1725658533077 Marionette TRACE moveOverTime start: 78,303 target: 158,353 duration: 100
[task 2024-09-06T21:35:33.113Z] 21:35:33 INFO - PID 2775 | 1725658533111 Marionette TRACE PointerMoveAction.performPointerMoveStep [105,320]
[task 2024-09-06T21:35:33.265Z] 21:35:33 INFO - PID 2775 | 1725658533264 Marionette TRACE PointerMoveAction.performPointerMoveStep [158,353]
[task 2024-09-06T21:35:33.272Z] 21:35:33 INFO - PID 2775 | 1725658533271 Marionette DEBUG 0 <- [1,523,null,{"value":null}]
[task 2024-09-06T21:35:33.273Z] 21:35:33 INFO - PID 2775 | 1725658533271 webdriver::server DEBUG <- 200 OK {"value":null}
[task 2024-09-06T21:35:33.273Z] 21:35:33 INFO - PID 2775 | 1725658533272 webdriver::server DEBUG -> POST /session/ac9c4acf-84c0-4477-9c11-51f06cfd07d0/execute/sync {"script": "return allEvents.events;", "args": []}
[task 2024-09-06T21:35:33.274Z] 21:35:33 INFO - PID 2775 | 1725658533273 Marionette DEBUG 0 -> [0,524,"WebDriver:ExecuteScript",{"args":[],"script":"return allEvents.events;"}]
[task 2024-09-06T21:35:33.283Z] 21:35:33 INFO - PID 2775 | 1725658533281 Marionette DEBUG 0 <- [1,524,null,{"value":[{"type":"mousemove","button":0,"buttons":0,"pageX":58,"pageY":303,"ctrlKey":false,"metaKey":false,"altKey":false,"shiftKey":false,"target":"dragTarget"},{"type":"mouseup","button":0,"buttons":0,"pageX":78,"pageY":303,"ctrlKey":false,"metaKey":false,"altKey":false,"shiftKey":false,"target":"dragArea"}]}]
[task 2024-09-06T21:35:33.284Z] 21:35:33 INFO - PID 2775 | 1725658533282 webdriver::server DEBUG <- 200 OK {"value":[{"altKey":false,"button":0,"buttons":0,"ctrlKey":false,"metaKey":false,"pageX":58,"pageY":303,"shiftKey": ... 0,"buttons":0,"ctrlKey":false,"metaKey":false,"pageX":78,"pageY":303,"shiftKey":false,"target":"dragArea","type":"mouseup"}]}
[task 2024-09-06T21:35:33.285Z] 21:35:33 INFO - PID 2775 | 1725658533283 webdriver::server DEBUG -> GET /session/ac9c4acf-84c0-4477-9c11-51f06cfd07d0/element/5e7614ac-7dcc-4503-8593-611f5332dc0d/rect
[task 2024-09-06T21:35:33.286Z] 21:35:33 INFO - PID 2775 | 1725658533284 Marionette DEBUG 0 -> [0,525,"WebDriver:GetElementRect",{"id":"5e7614ac-7dcc-4503-8593-611f5332dc0d"}]
[task 2024-09-06T21:35:33.292Z] 21:35:33 INFO - PID 2775 | 1725658533290 Marionette DEBUG 0 <- [1,525,null,{"x":75,"y":299.8999938964844,"width":7,"height":7}]
[task 2024-09-06T21:35:33.292Z] 21:35:33 INFO - PID 2775 | 1725658533291 webdriver::server DEBUG <- 200 OK {"value":{"x":75.0,"y":299.8999938964844,"width":7.0,"height":7.0}}
FAIL:
[task 2024-09-06T21:34:06.389Z] 21:34:06 INFO - PID 4605 | 1725658446388 Marionette DEBUG 0 -> [0,524,"WebDriver:PerformActions",{"actions":[{"actions":[{"origin":{"element-6066-11e4-a52e-4f735466cecf":"f5de6044-cf0d-420c-a999-26d484faf4a9"},"type":"pointerMove","x":0,"y":0},{"button":0,"type":"pointerDown"},{"duration":0,"origin":"pointer","type":"pointerMove","x":20,"y":0},{"button":0,"type":"pointerUp"},{"duration":100,"origin":"pointer","type":"pointerMove","x":80,"y":50}],"id":"pointer_id","parameters":{"pointerType":"mouse"},"type":"pointer"}]}]
[task 2024-09-06T21:34:06.391Z] 21:34:06 INFO - PID 4605 | 1725658446390 Marionette TRACE Dispatching tick 1/5
[task 2024-09-06T21:34:06.391Z] 21:34:06 INFO - PID 4605 | 1725658446390 Marionette TRACE Dispatch PointerMoveAction mouse with id: pointer_id x: 0 y: 0
[task 2024-09-06T21:34:06.402Z] 21:34:06 INFO - PID 4605 | 1725658446401 Marionette TRACE moveOverTime start: 0,0 target: 58,303 duration: 0
[task 2024-09-06T21:34:06.403Z] 21:34:06 INFO - PID 4605 | 1725658446401 Marionette TRACE PointerMoveAction.performPointerMoveStep [58,303]
[task 2024-09-06T21:34:06.409Z] 21:34:06 INFO - PID 4605 | 1725658446408 Marionette TRACE Dispatching tick 2/5
[task 2024-09-06T21:34:06.410Z] 21:34:06 INFO - PID 4605 | 1725658446408 Marionette TRACE Dispatch PointerDownAction mouse with id: pointer_id button: 0
[task 2024-09-06T21:34:06.416Z] 21:34:06 INFO - PID 4605 | 1725658446416 Marionette TRACE Dispatching tick 3/5
[task 2024-09-06T21:34:06.417Z] 21:34:06 INFO - PID 4605 | 1725658446416 Marionette TRACE Dispatch PointerMoveAction mouse with id: pointer_id x: 20 y: 0
[task 2024-09-06T21:34:06.418Z] 21:34:06 INFO - PID 4605 | 1725658446417 Marionette TRACE moveOverTime start: 58,303 target: 78,303 duration: 0
[task 2024-09-06T21:34:06.418Z] 21:34:06 INFO - PID 4605 | 1725658446417 Marionette TRACE PointerMoveAction.performPointerMoveStep [78,303]
[task 2024-09-06T21:34:06.421Z] 21:34:06 INFO - PID 4605 | 1725658446420 Marionette TRACE Dispatching tick 4/5
[task 2024-09-06T21:34:06.421Z] 21:34:06 INFO - PID 4605 | 1725658446420 Marionette TRACE Dispatch PointerUpAction mouse with id: pointer_id button: 0
[task 2024-09-06T21:34:06.425Z] 21:34:06 INFO - PID 4605 | 1725658446424 Marionette TRACE Dispatching tick 5/5
[task 2024-09-06T21:34:06.425Z] 21:34:06 INFO - PID 4605 | 1725658446424 Marionette TRACE Dispatch PointerMoveAction mouse with id: pointer_id x: 80 y: 50
[task 2024-09-06T21:34:06.426Z] 21:34:06 INFO - PID 4605 | 1725658446425 Marionette TRACE moveOverTime start: 78,303 target: 158,353 duration: 100
[task 2024-09-06T21:34:06.529Z] 21:34:06 INFO - PID 4605 | 1725658446528 Marionette TRACE PointerMoveAction.performPointerMoveStep [158,353]
[task 2024-09-06T21:34:06.535Z] 21:34:06 INFO - PID 4605 | 1725658446534 Marionette DEBUG 0 <- [1,524,null,{"value":null}]
[task 2024-09-06T21:34:06.536Z] 21:34:06 INFO - PID 4605 | 1725658446535 webdriver::server DEBUG <- 200 OK {"value":null}
[task 2024-09-06T21:34:06.536Z] 21:34:06 INFO - PID 4605 | 1725658446535 webdriver::server DEBUG -> POST /session/4ad05060-f4b2-4186-9cd0-caa7652dece3/execute/sync {"script": "return allEvents.events;", "args": []}
[task 2024-09-06T21:34:06.537Z] 21:34:06 INFO - PID 4605 | 1725658446536 Marionette DEBUG 0 -> [0,525,"WebDriver:ExecuteScript",{"args":[],"script":"return allEvents.events;"}]
[task 2024-09-06T21:34:06.543Z] 21:34:06 INFO - PID 4605 | 1725658446542 Marionette DEBUG 0 <- [1,525,null,{"value":[{"type":"mousemove","button":0,"buttons":0,"pageX":58,"pageY":303,"ctrlKey":false,"metaKey":false,"altKey":false,"shiftKey":false,"target":"dragTarget"},{"type":"mouseup","button":0,"buttons":0,"pageX":78,"pageY":303,"ctrlKey":false,"metaKey":false,"altKey":false,"shiftKey":false,"target":"dragArea"}]}]
[task 2024-09-06T21:34:06.544Z] 21:34:06 INFO - PID 4605 | 1725658446542 webdriver::server DEBUG <- 200 OK {"value":[{"altKey":false,"button":0,"buttons":0,"ctrlKey":false,"metaKey":false,"pageX":58,"pageY":303,"shiftKey": ... 0,"buttons":0,"ctrlKey":false,"metaKey":false,"pageX":78,"pageY":303,"shiftKey":false,"target":"dragArea","type":"mouseup"}]}
[task 2024-09-06T21:34:06.545Z] 21:34:06 INFO - PID 4605 | 1725658446543 webdriver::server DEBUG -> GET /session/4ad05060-f4b2-4186-9cd0-caa7652dece3/element/f5de6044-cf0d-420c-a999-26d484faf4a9/rect
[task 2024-09-06T21:34:06.546Z] 21:34:06 INFO - PID 4605 | 1725658446545 Marionette DEBUG 0 -> [0,526,"WebDriver:GetElementRect",{"id":"f5de6044-cf0d-420c-a999-26d484faf4a9"}]
[task 2024-09-06T21:34:06.548Z] 21:34:06 INFO - PID 4605 | 1725658446547 Marionette DEBUG 0 <- [1,526,null,{"x":55,"y":299.8999938964844,"width":7,"height":7}]
[task 2024-09-06T21:34:06.548Z] 21:34:06 INFO - PID 4605 | 1725658446547 webdriver::server DEBUG <- 200 OK {"value":{"x":55.0,"y":299.8999938964844,"width":7.0,"height":7.0}}
In both cases the recorded mousemove
and mouseup
events look similar and cause the checks to pass:
{
"value": [
{
"type": "mousemove",
"button": 0,
"buttons": 0,
"pageX": 58,
"pageY": 303,
"ctrlKey": false,
"metaKey": false,
"altKey": false,
"shiftKey": false,
"target": "dragTarget"
},
{
"type": "mouseup",
"button": 0,
"buttons": 0,
"pageX": 78,
"pageY": 303,
"ctrlKey": false,
"metaKey": false,
"altKey": false,
"shiftKey": false,
"target": "dragArea"
}
]
}
The issue seems to be that the draggable element’s client rect hasn’t been updated and is still returning the old position. We might need to wait for the next animation frame to ensure that the rendering is fully updated before proceeding.
Assignee | ||
Comment 15•22 days ago
|
||
As it looks like it is indeed a race. A first try with requesting an animation frame seem to have helped. I've polished the code for both Marionette and WebDriver BiDi to make use of this technique. I pushed a try build for it:
https://treeherder.mozilla.org/jobs?repo=try&revision=ed54185b726ebb587dd40a2f22a0558198e5e9ec
Comment 16•21 days ago
|
||
Comment 17•21 days ago
|
||
Backed out for causing wpt failures on input-events-get-target-ranges-joining-dl-elements.tentative.html.
[task 2024-09-10T16:13:53.766Z] 16:13:53 INFO - TEST-START | /input-events/input-events-arrow-key-on-number-input-delete-document.html
[task 2024-09-10T16:13:53.790Z] 16:13:53 INFO - Closing window d53441cd-c72e-4235-adf2-d16a95b48aa2
[task 2024-09-10T16:13:54.528Z] 16:13:54 WARNING - Action send_keys failed
[task 2024-09-10T16:13:54.551Z] 16:13:54 WARNING - Traceback (most recent call last):
[task 2024-09-10T16:13:54.551Z] 16:13:54 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 898, in run_func
[task 2024-09-10T16:13:54.551Z] 16:13:54 WARNING - self.result = True, self.func(self.protocol, self.url, self.timeout)
[task 2024-09-10T16:13:54.551Z] 16:13:54 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 1024, in do_testharness
[task 2024-09-10T16:13:54.551Z] 16:13:54 WARNING - done, rv = handler(result)
[task 2024-09-10T16:13:54.551Z] 16:13:54 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/base.py", line 755, in __call__
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - return callback(url, payload)
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/base.py", line 772, in process_action
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - result = action_handler(payload)
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/actions.py", line 92, in __call__
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - element = self.protocol.select.element_by_selector(selector)
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - File "/builds/worker/workspace/build/tests/web-platform/tests/tools/wptrunner/wptrunner/executors/protocol.py", line 289, in element_by_selector
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - raise ValueError(f"Selector '{element_selector}' matches no elements")
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING - ValueError: Selector ':root > *|body:nth-child(2) > *|input:nth-child(1)' matches no elements
[task 2024-09-10T16:13:54.552Z] 16:13:54 WARNING -
[task 2024-09-10T16:13:54.625Z] 16:13:54 INFO - TEST-ERROR | /input-events/input-events-arrow-key-on-number-input-delete-document.html | took 857ms
[task 2024-09-10T16:13:54.996Z] 16:13:54 INFO - STDOUT: cleanup aborted: Unable to remount device
[task 2024-09-10T16:13:55.119Z] 16:13:55 INFO - STDOUT: cleanup aborted: Unable to remount device
[task 2024-09-10T16:13:55.121Z] 16:13:55 INFO - Closing logging queue
[task 2024-09-10T16:13:55.121Z] 16:13:55 INFO - queue closed
[task 2024-09-10T16:13:55.136Z] 16:13:55 INFO - Setting up ssl
[task 2024-09-10T16:13:55.288Z] 16:13:55 INFO - certutil | b''
[task 2024-09-10T16:13:55.338Z] 16:13:55 INFO - certutil | b''
[task 2024-09-10T16:13:55.347Z] 16:13:55 INFO - certutil | b'\nCertificate Nickname Trust Attributes\n SSL,S/MIME,JAR/XPI\n\nweb-platform-tests CT,, \n'
[task 2024-09-10T16:13:55.938Z] 16:13:55 INFO - adb Granting important runtime permissions to org.mozilla.geckoview.test_runner
[task 2024-09-10T16:13:57.109Z] 16:13:57 INFO - adb launch_application: am start -W -n org.mozilla.geckoview.test_runner/org.mozilla.geckoview.test_runner.TestRunnerActivity -a android.intent.action.MAIN --es env0 MOZ_CRASHREPORTER=1 --es env1 MOZ_CRASHREPORTER_NO_REPORT=1 --es env2 MOZ_CRASHREPORTER_SHUTDOWN=1 --es env3 MOZ_HIDE_RESULTS_TABLE=1 --es env4 MOZ_IN_AUTOMATION=1 --es env5 MOZ_LOG=signaling:3,mtransport:4,DataChannel:4,jsep:4 --es env6 R_LOG_LEVEL=6 --es env7 R_LOG_DESTINATION=stderr --es env8 R_LOG_VERBOSE=1 --es env9 MOZ_PROCESS_LOG=/tmp/tmp1810c69spidlog --es env10 MOZ_DISABLE_NONLOCAL_CONNECTIONS=1 --es arg0 -no-remote --es arg1 -profile --es arg2 /data/local/tmp/test_root/profile --es arg3 --marionette --es arg4 about:blank
[task 2024-09-10T16:13:58.980Z] 16:13:58 INFO - Starting runner
[task 2024-09-10T16:13:59.945Z] 16:13:59 INFO - TEST-START | /input-events/input-events-arrow-key-on-number-input-prevent-default.html
Assignee | ||
Comment 18•19 days ago
|
||
With bug 1918049 the wpt1 input-events tests will be fixed. Not sure why those were failing but those were completely busted.
The Wd1 failures for invalid.py
on Android happen because we now run a little bit longer and already before the test nearly took 65s. Similar to the classic test we should extend the timeout for this file.
Here a hopefully final try build:
https://treeherder.mozilla.org/jobs?repo=try&revision=18a7dfb9015b59b00381120d783faae600027f17
Comment 19•18 days ago
|
||
Comment 21•18 days ago
|
||
Backed out for causing wpt failures in input-events-get-target-ranges-joining-dl-elements.tentative.html
- Backout link
- Push with failures
- Failure Log
- Failure line: TEST-UNEXPECTED-NOTRUN | /input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html?Backspace | Backspace at "<dl><dd>list-item1[</dd></dl><dl><dd>list-item2]</dd><dd>list-item3</dd></dl>" - expected FAIL
TEST-UNEXPECTED-NOTRUN | /input-events/input-events-get-target-ranges-joining-dl-elements.tentative.html?Backspace | Backspace at "<dl><dd>[list-item1</dd></dl><dl><dd>list-item2]</dd><dd>list-item3</dd></dl>" - expected FAIL
Comment 22•18 days ago
|
||
It seems that this has also caused some wd jobs to increase in frequency. Maybe someone can please take a look before re-landing this.
wd example of failures here
Updated•8 days ago
|
Assignee | ||
Comment 25•7 days ago
|
||
To give a quick update: Once bug 1854942 landed I have to change the action commands to opt-out of the retry-logic. This is necessary because we have to call into content several times and when a navigation happens in the middle references to elements become invalid. That means we will use retryOnAbort: false
and wrap all code within a try/catch which itself retries to run all again a given number of times before giving up.
Assignee | ||
Comment 26•4 days ago
|
||
I'm going to wait with landing this patch until we are no longer in the soft freeze phase, which means it will happen on Monday afternoon.
Updated•2 days ago
|
Comment 27•15 hours ago
|
||
Assignee | ||
Updated•15 hours ago
|
Description
•