Skip to content

chore: test the CLI with Playwright 1.65, and pin it in the Copy prompt - #431

Merged
nucliweb merged 1 commit into
mainfrom
chore/playwright-1.65
Nov 14, 2026
Merged

nucliweb merged 1 commit into
mainfrom
chore/playwright-1.65

Conversation

@nucliweb

Copy link
Copy Markdown
Owner

Summary

  • Playwright 1.65.1 in the lockfile, from 1.63.0. It brings Chromium 159.
  • Copy prompt. PLAYWRIGHT in lib/snippet-prompt.mjs goes from 1.63 to 1.65: the prompt of a snippet page installs and runs the version the CLI is tested with. The tests that spell the version change with it.
  • Back-Forward-Cache tests. Chromium 159 does not register an unload handler unless the page sends Permissions-Policy: unload=(self), and a frame also needs allow="unload" from the page that embeds it. window.onunload = fn leaves window.onunload at null, and notRestoredReasons gives only masked. The pages of cli/tests/e2e/bfcache.test.js that test an unload handler send the header, and the frame is allowed.
  • CHANGELOG: an entry under ## [Unreleased].

The snippet does not change. Without a registered handler nothing blocks the bfcache, so there is nothing to report.

Test plan

On macOS with Node 26.13.1 and Playwright 1.65.1:

  • npm test
  • npm run build and npm run check:built-snippets (59 snippets); the generated public/CoreWebVitals/LCP.md has playwright@1.65
  • npm run test:extension:e2e: 93 of 93
  • npm run test:e2e --prefix cli: 795 of 795
  • cli/tests/e2e/bfcache.test.js on its own, 3 times: 6 of 6. Without the change to the fixture, 2 of its 6 tests fail the 3 times
  • A script with CDP, outside the repository: with the header and allow="unload", Page.backForwardCacheNotUsed gives UnloadHandlerExistsInMainFrame and UnloadHandlerExistsInSubFrame, and notRestoredReasons gives unload-listener for the page and for the frame
  • npm run lint and npm run check:emoji
  • CI, and the evals of the prompt, which run because the prompt changes

Playwright 1.65.1 brings Chromium 159. The prompt of a snippet page installs and runs the same version the CLI is tested with, so PLAYWRIGHT goes from 1.63 to 1.65.

Chromium 159 does not register an unload handler unless the page sends Permissions-Policy: unload=(self), and a frame also needs allow="unload" from the page that embeds it. Two tests of Back-Forward-Cache failed because their pages no longer had the handler they test: the fixture sends the header and allows the frame. The snippet does not change: without a handler there is nothing that blocks the bfcache.
@vercel

vercel Bot commented Nov 14, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
webperf-snippets Ready Ready Preview Nov 14, 2026 2:19pm UTC

@nucliweb
nucliweb merged commit f7be27d into main Nov 14, 2026
7 checks passed
@nucliweb
nucliweb deleted the chore/playwright-1.65 branch November 14, 2026 15:02

This branch was successfully deployed

1 active deployment
Preview — dcf000cc Deployed Nov 14, 2026 by vercel[bot]
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