[next-playwright] Use unique cookie values for instant navigation testing lock#91250
Merged
Merged
Conversation
eps1lon
commented
Mar 12, 2026
| } | ||
| }, | ||
| "devDependencies": { | ||
| "@playwright/test": "1.58.2", |
Member
Author
There was a problem hiding this comment.
pnpm auto-installed a version and preferred to stay on an older version (common lockfile preference) without explicitly specifying a version.
Contributor
Tests Passed |
Contributor
Stats from current PR✅ No significant changes detected📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
⚡ Dev Server
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
⚡ Production Builds
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes⚡ TurbopackClient Main Bundles
Server Middleware
Build DetailsBuild Manifests
📦 WebpackClient Main Bundles
Polyfills
Pages
Server Edge SSR
Middleware
Build DetailsBuild Manifests
Build Cache
🔄 Shared (bundler-independent)Runtimes
📝 Changed Files (8 files)Files with changes:
View diffsapp-page-exp..ntime.dev.jsfailed to diffapp-page-exp..time.prod.jsDiff too large to display app-page-tur..ntime.dev.jsfailed to diffapp-page-tur..time.prod.jsDiff too large to display app-page-tur..ntime.dev.jsfailed to diffapp-page-tur..time.prod.jsDiff too large to display app-page.runtime.dev.jsfailed to diffapp-page.runtime.prod.jsDiff too large to display 📎 Tarball URL |
db0114c to
d643cea
Compare
Member
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Mar 12, 2026
ed64c27 to
a4cd53b
Compare
d643cea to
b6825ce
Compare
a4cd53b to
662c03e
Compare
662c03e to
c69b4d8
Compare
b6825ce to
e5e3d62
Compare
c69b4d8 to
cad49f4
Compare
e5e3d62 to
272108c
Compare
45db1fd to
156307e
Compare
adc2e51 to
d0cfb0e
Compare
d0cfb0e to
c81d708
Compare
e22988e to
1b1a1e7
Compare
c81d708 to
c3a2db7
Compare
c3a2db7 to
134c690
Compare
d6c31ca to
22c3032
Compare
acdlite
approved these changes
Mar 16, 2026
Base automatically changed from
sebbie/03-13-_test_more_instant-navs-devtools_deflaking
to
canary
March 16, 2026 20:14
…ting lock Newer Chromium versions (>=136, shipped with Playwright >=1.58) skip CookieStore change events when a cookie is set to the same value it already has. This broke nesting detection in the instant navigation testing API because both the outer and inner instant() calls set the cookie to '1'. - Use current time to get a unique value so each addCookies call triggers a CookieStore change event (@next/playwright prefixes with "p" for Playwright and overlay prefixes with "c" for Client) - Increase retry timeouts in devtools test to accommodate slightly slower badge status transitions in newer Chromium - Update cookie value assertion to match dynamic values
134c690 to
96acd9c
Compare
unstubbable
added a commit
that referenced
this pull request
Mar 18, 2026
[Flakiness metrics](https://app.datadoghq.com/ci/test/runs?query=test_level%3Atest%20%40git.repository.id%3A%22github.com%2Fvercel%2Fnext.js%22%20%40test.status%3A%22fail%22%20%40test.name%3A%22basePath%20should%20use%20urls%20with%20basepath%20in%20router%20events%20for%20hash%20changes%22&agg_m=count&agg_m_source=base&agg_t=count¤tTab=overview&eventStack=&fromUser=false&index=citest&start=1773244604685&end=1773849404685&paused=false) After upgrading Playwright in #91250 (which brought some performance improvements), some tests are now exposed to be missing retries around assertions. `test/e2e/basepath/router-events.test.ts` is one of those tests, and this PR adds a `retry` around the event log assertion. We're also replacing the deprecated `check` utility with `retry` when waiting for the router to be ready.
unstubbable
added a commit
that referenced
this pull request
Mar 18, 2026
[Flakiness metrics](https://app.datadoghq.com/ci/test/runs?query=test_level%3Atest%20%40git.repository.id%3A%22github.com%2Fvercel%2Fnext.js%22%20%40test.status%3A%22fail%22%20%40test.name%3A%22basePath%20should%20use%20urls%20with%20basepath%20in%20router%20events%20for%20hash%20changes%22&agg_m=count&agg_m_source=base&agg_t=count¤tTab=overview&eventStack=&fromUser=false&index=citest&start=1773244604685&end=1773849404685&paused=false) After upgrading Playwright in #91250 (which brought some performance improvements), some tests are now exposed to be missing retries around assertions. `test/e2e/basepath/router-events.test.ts` is one of those tests, and this PR adds a `retry` around the event log assertion. We're also replacing the deprecated `check` utility with `retry` when waiting for the router to be ready.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.

Chrome >= 136 doesn't fire CookieStore change events if a cookie is set with the same value (Cursor analysis). This means that nesting
instantdidn't warn in newer versions of Playwright.We missed this due to using older Playwright versions. This PR fixes the Playwright issues by using a unique Cookie value (
performance.now()). I'll also bump Playwright in the same change to show the breakage.Looks like
LaunchOptions['devtools']was removed (or never worked). Switched to using CLI args instead (--auto-open-devtools-for-tabs).Newer Chrome versions have additional policies to avoid cross-origin requests. You now get prompts when accessing "insecure content". I haven't found a way to grant that permission. Since we only access localhost, we can avoid the prompt by allowing accessing local content.
Cursor thread for fixing unexpected CI failures