Skip to content

test(e2e): disable Firefox COOP process swap in starter Firefox projects - #8

Merged
constantin-jais merged 1 commit into
migrate/recover-codefrom
work/documents-db-ff-coop
Oct 9, 2026
Merged

constantin-jais merged 1 commit into
migrate/recover-codefrom
work/documents-db-ff-coop

Conversation

@constantin-jais

Copy link
Copy Markdown
Contributor

What

Temporary workaround for microsoft/playwright#42731 in the two starter Firefox Playwright projects (packages/starter/starter, packages/starter/bun-app): launch Firefox with browser.tabs.remote.useCrossOriginOpenerPolicy=false, with a TODO(playwright-1.64) marker.

Why

Juggler (Playwright's Firefox driver) can lose a protocol message when a navigation response carries Cross-Origin-Opener-Policy: same-origin and Firefox replaces the browsing context; page.goto or the next evaluate then hangs until the test timeout. Fixed upstream in Firefox r1551, shipped with Playwright 1.64.0, which minimumReleaseAge (3 days) blocks until 2026-10-10T20:42Z. The bump to 1.64.0 follows in a separate change that also removes this pref.

Scope

  • web-platform still serves Cross-Origin-Opener-Policy: same-origin; no header changes.
  • packages/ui Firefox project is not changed: its e2e loads reference.html over file://, so no COOP response is involved.

Evidence (local, macOS arm64, Firefox project, --repeat-each=30)

Project Before After
starter/starter 1/150 failed (page.goto timeout) 0/150
starter/bun-app 1/90 failed (page.goto timeout) 0/90

The bun-app reference.e2e.ts CSP header assertion and web-platform unit tests (COOP/CSP) pass.

https://claude.ai/code/session_01YGo2fqxeSVRfXjQErze6hP

Playwright's Firefox driver (Juggler) can lose a protocol message when a
navigation response carries Cross-Origin-Opener-Policy: same-origin and
Firefox replaces the browsing context, so page.goto or the following
evaluate hangs intermittently (microsoft/playwright#42731, fixed in
Firefox r1551 shipped with Playwright 1.64.0, not yet installable under
the 3-day minimumReleaseAge).

Temporary workaround in the starter and bun-app Firefox projects:
launch Firefox with browser.tabs.remote.useCrossOriginOpenerPolicy=false.
The COOP header served by web-platform is unchanged; header assertions
still run. Remove once @playwright/test >= 1.64.0.

Local evidence (macOS arm64, --repeat-each=30, Firefox project):
starter 1/150 failed before (page.goto timeout), 0/150 after;
bun-app 1/90 failed before (page.goto timeout), 0/90 after.

Claude-Session: https://claude.ai/code/session_01YGo2fqxeSVRfXjQErze6hP
Signed-off-by: Constantin Jais <74049135+constantin-jais@users.noreply.github.com>
@constantin-jais
constantin-jais merged commit 93b98e1 into migrate/recover-code Oct 9, 2026
6 checks passed
@constantin-jais
constantin-jais deleted the work/documents-db-ff-coop branch October 9, 2026 03:23
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.

1 participant