chore(recorder): unify action coalescing and simplify action types - #41958
Conversation
- Derive double click from event.detail in onClick and drop onDblClick. - Coalesce click/fill/navigate in the signal processor so every action is emitted once; delete collapseActions/shouldMergeAction and the actionUpdated recorder event (actions are never updated downstream). - Move signals from actions.Action onto ActionInContext and drop the now-unused action timestamps and SignalInContext.timestamp. - The api recorder event sink receives Action/Signal instead of the *InContext wrappers, and signalAdded carries the re-generated code for the action the signal attaches to.
Test results for "tests 1"6 flaky50235 passed, 1190 skipped Merge workflow run. |
Test results for "MCP"2 failed 7784 passed, 1262 skipped Merge workflow run. |
|
Hi, I'm the Playwright bot and I took a first look at the CI failures here. 🟢 Both failures are pre-existing flakes — this PR looks clearThe two red MCP tests ( DetailsThis PR ( Pre-existing flake / infra
Weaker call than the annotate one (single prior failure, different browser), but the diff genuinely doesn't reach the MCP click path, so I'd re-run it rather than treat it as caused here. Triaged by the Playwright bot - agent run |
Summary
event.detailinonClickand droponDblClick.RecorderSignalProcessorso every action is emitted once; deletecollapseActions/shouldMergeActionand theactionUpdatedrecorder event — actions are never updated or collapsed downstream.signalsoffactions.ActionontoActionInContext, and drop the now-unused action timestamps andSignalInContext.timestamp.recorderMode: 'api'event sink now receivesAction/Signalinstead of the*InContextwrappers, andsignalAddedcarries the re-generated code for the action the signal attaches to.Follow-up to #41902.