Repository navigation
fix(recorder): don't record duplicate goto for repeated navigation signal - #42027
Merged
Dmitry Gozman (dgozman) merged 1 commit intoJul 29, 2026
Merged
Conversation
…gnal
The recorder generated two identical `await page.goto('about:blank')`
actions when a reused context emitted a second main-frame navigation
commit for the same URL. The first commit buffers a navigate action; if
the second arrives after the 500ms buffer window it is no longer merged,
and generateGoto fired again because it only checked the last action's
type, not its URL. Slower channels (msedge/chrome on Windows) hit the
late second commit routinely, so the recorded source gained a phantom
`goto('about:blank')` and debug-controller `should record` /
`should record expect signal` flaked.
Fix: skip generating a goto when the last emitted action is already a
navigate to the same URL on the same page.
DB evidence (rolling CI window, expected_status=passed):
- library/debug-controller.spec.ts 'should record' and 'should record
expect signal', chromium-library project.
- msedge-windows-latest: 132 runs, 32 failed (24.2%) each test.
- msedge-dev-windows-latest: same 32/132. Also disrupts
chrome-windows-latest and firefox-windows-latest. No related issue found.
Linked emoji run history (msedge-windows-latest, oldest first, 132 runs, 32 red each):
should record:
[🟩](https://github.com/microsoft/playwright/actions/runs/29510845830/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29513769523/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29516108305/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29525081398/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29527833904/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29528556146/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29531605213/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29531635659/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29536656250/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29544830063/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29585973013/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29587651108/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29589683538/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29589934673/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29595934280/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29598530258/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29602613490/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29611131294/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29611318218/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29611445029/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29612805092/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29613759502/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29618375255/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29686210360/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29730373358/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29734693205/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29755368802/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29762776585/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29763385504/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29769696091/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29775716877/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29780743634/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29782328403/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29784817456/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29789509369/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29791328941/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29791345408/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29800511868/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29822273353/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29835236639/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29838699822/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29844141129/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29845175984/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29845392058/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29855614229/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29855625844/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29856729151/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29859883032/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29865460136/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29866867131/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29867308985/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29873996100/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29874748609/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29874783963/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29877078341/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29879172510/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29904950059/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29915407358/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29918102409/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29924682554/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29931173316/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29932910968/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29933325202/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29938598979/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29940740538/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29945241493/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29957712363/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29960743816/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29986800439/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30000526442/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30002550609/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30003704436/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30012947805/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013055298/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013000317/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013056549/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013055588/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013055409/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013096187/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30016032633/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30019936660/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30020951577/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30028622968/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30030075729/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30034117131/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30037717793/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30043643329/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30046492986/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30046789125/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30047266180/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30054321343/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30055514373/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30056208622/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30059081941/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30061239008/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30064063966/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30087004304/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30087062553/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30087527278/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30088593278/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30096158712/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30096561860/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30099474083/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30106394430/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30109152699/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30125949342/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30125931463/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034692/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034797/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034869/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034933/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30128284458/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30128358440/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30128549016/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30128995674/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30130964830/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30281800940/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30282186242/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30282257105/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30295966994/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30314129578/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30317038982/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30317255895/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30345832284/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30357733547/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30362312636/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30374618561/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30374665387/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30374719582/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30374877599/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30375058435/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30375461275/attempts/1)
should record expect signal:
[🟩](https://github.com/microsoft/playwright/actions/runs/29510845830/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29513769523/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29516108305/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29525081398/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29527833904/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29528556146/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29531605213/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29531635659/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29536656250/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29544830063/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29585973013/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29587651108/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29589683538/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29589934673/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29595934280/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29598530258/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29602613490/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29611131294/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29611318218/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29611445029/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29612805092/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29613759502/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29618375255/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29686210360/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29730373358/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29734693205/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29755368802/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29762776585/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29763385504/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29769696091/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29775716877/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29780743634/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29782328403/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29784817456/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29789509369/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29791328941/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29791345408/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29800511868/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29822273353/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29835236639/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29838699822/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29844141129/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29845175984/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29845392058/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29855614229/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29855625844/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29856729151/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29859883032/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29865460136/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29866867131/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29867308985/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29873996100/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29874748609/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29874783963/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29877078341/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29879172510/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29904950059/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29915407358/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29918102409/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29924682554/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29931173316/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29932910968/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29933325202/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29938598979/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29940740538/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29945241493/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29957712363/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29960743816/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/29986800439/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30000526442/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30002550609/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30003704436/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30012947805/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013055298/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013000317/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013056549/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013055588/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013055409/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30013096187/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30016032633/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30019936660/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30020951577/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30028622968/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30030075729/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30034117131/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30037717793/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30043643329/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30046492986/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30046789125/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30047266180/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30054321343/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30055514373/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30056208622/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30059081941/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30061239008/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30064063966/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30087004304/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30087062553/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30087527278/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30088593278/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30096158712/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30096561860/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30099474083/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30106394430/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30109152699/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30125949342/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30125931463/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034692/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034797/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034869/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30126034933/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30128284458/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30128358440/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30128549016/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30128995674/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30130964830/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30281800940/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30282186242/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30282257105/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30295966994/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30314129578/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30317038982/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30317255895/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30345832284/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30357733547/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30362312636/attempts/1)[🟩](https://github.com/microsoft/playwright/actions/runs/30374618561/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30374665387/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30374719582/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30374877599/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30375058435/attempts/1)[🟥](https://github.com/microsoft/playwright/actions/runs/30375461275/attempts/1)
Verified locally on windows-latest (this OS), msedge channel:
- Before: `ctest -- debug-controller.spec.ts:176 :211 --repeat-each=12` -> 12/12 failed with the duplicate about:blank goto.
- After the fix: 24/24 passed (both tests). Full file on chromium: 11/11 passed.
- `npm run flint` clean except a pre-existing check-deps path quirk in html-reporter unrelated to this change.
Run: https://github.com/microsoft/playwright/actions/runs/30430786310
Suggested-reviewer: dgozman
microsoft-playwright-automation
Bot
requested a review
from Simon Knott (Skn0tt)
July 29, 2026 07:55
Contributor
Test results for "MCP"1 failed 7807 passed, 1266 skipped Merge workflow run. |
Contributor
Test results for "tests 1"7 flaky50816 passed, 1188 skipped Merge workflow run. |
Dmitry Gozman (dgozman)
approved these changes
Jul 29, 2026
Dmitry Gozman (dgozman)
deleted the
fix-flakes/windows-latest-30430786310
branch
July 29, 2026 09:47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The recorder generated two identical
await page.goto('about:blank')actions when a reused context emitted a second main-frame navigation
commit for the same URL. The first commit buffers a navigate action; if
the second arrives after the 500ms buffer window it is no longer merged,
and generateGoto fired again because it only checked the last action's
type, not its URL. Slower channels (msedge/chrome on Windows) hit the
late second commit routinely, so the recorded source gained a phantom
goto('about:blank')and debug-controllershould record/should record expect signalflaked.Fix: skip generating a goto when the last emitted action is already a
navigate to the same URL on the same page.
DB evidence (rolling CI window, expected_status=passed):
expect signal', chromium-library project.
chrome-windows-latest and firefox-windows-latest. No related issue found.
Linked emoji run history (msedge-windows-latest, oldest first, 132 runs, 32 red each):
should record:
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟩🟥🟥🟥🟥🟥
should record expect signal:
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟩🟥🟥🟥🟥🟥
Verified locally on windows-latest (this OS), msedge channel:
ctest -- debug-controller.spec.ts:176 :211 --repeat-each=12-> 12/12 failed with the duplicate about:blank goto.npm run flintclean except a pre-existing check-deps path quirk in html-reporter unrelated to this change.Run: https://github.com/microsoft/playwright/actions/runs/30430786310
Suggested-reviewer: dgozman