Skip to content

fix(recorder): don't record duplicate goto for repeated navigation signal - #42027

Merged
Dmitry Gozman (dgozman) merged 1 commit into
mainfrom
fix-flakes/windows-latest-30430786310
Jul 29, 2026
Merged

Dmitry Gozman (dgozman) merged 1 commit into
mainfrom
fix-flakes/windows-latest-30430786310

Conversation

@microsoft-playwright-automation

Copy link
Copy Markdown
Contributor

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:
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟩🟥🟥🟥🟥🟥

should record expect signal:
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟩🟩🟥🟥🟥🟥🟥

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

…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
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

1 failed
❌ [firefox] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-windows-latest-firefox

7807 passed, 1266 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

7 flaky ⚠️ [chromium-library] › library/beforeunload.spec.ts:130 › should support dismissing the dialog multiple times `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/video.spec.ts:699 › screencast › should capture full viewport on hidpi `@chromium-ubuntu-22.04-arm-node20`
⚠️ [chromium-library] › library/chromium/oopif.spec.ts:282 › should click `@chromium-ubuntu-22.04-node24`
⚠️ [chromium-library] › library/har-websocket.spec.ts:235 › should attach websocket messages `@chromium-ubuntu-22.04-node20`
⚠️ [chromium-library] › library/video.spec.ts:495 › screencast › should capture static page in persistent context Radoslav Kirilov (@smoke) `@chromium-ubuntu-22.04-node22`
⚠️ [chromium-library] › library/video.spec.ts:699 › screencast › should capture full viewport on hidpi `@chromium-ubuntu-22.04-node22`
⚠️ [firefox-library] › library/heap.spec.ts:223 › should not leak workers `@firefox-ubuntu-22.04-node20`

50816 passed, 1188 skipped


Merge workflow run.

@dgozman
Dmitry Gozman (dgozman) merged commit b8e76e5 into main Jul 29, 2026
48 of 50 checks passed
@dgozman
Dmitry Gozman (dgozman) deleted the fix-flakes/windows-latest-30430786310 branch July 29, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants