Skip to content

test(pages): enable complex shallow routing coverage - #2770

Closed
james-elicx wants to merge 2 commits into
mainfrom
codex/pages-complex-shallow-routing
Closed

test(pages): enable complex shallow routing coverage#2770
james-elicx wants to merge 2 commits into
mainfrom
codex/pages-complex-shallow-routing

Conversation

@james-elicx

@james-elicx james-elicx commented Jul 31, 2026

Copy link
Copy Markdown
Member

Summary

  • wait for the pages-router-complex client-only hydration sentinel before exercising controlled inputs
  • enable the shallow routing, router event, and compat-router trial reset tests
  • assert the gSSP-derived render timestamp stays stable across the shallow transition
  • link the relevant Next.js parity tests and update the documented pass count

All three former fixmes shared one cause on current main: Playwright could change the server-rendered <select> before React attached its onChange handler. The shallow router behavior itself now matches Next.js.

Validation

  • vp check tests/e2e/pages-router-complex/client-routing.spec.ts
  • negative control: changing the fixture call to { shallow: false } fails on the render timestamp changing
  • PLAYWRIGHT_PROJECT=pages-router-complex pnpm exec playwright test tests/e2e/pages-router-complex/client-routing.spec.ts --retries=0 --reporter=line (4 passed)
  • PLAYWRIGHT_PROJECT=pages-router-complex pnpm exec playwright test --retries=0 --reporter=line (62 passed, 11 unrelated skipped)

@pkg-pr-new

pkg-pr-new Bot commented Jul 31, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@vinext/cloudflare@2770
npm i https://pkg.pr.new/create-vinext-app@2770
npm i https://pkg.pr.new/@vinext/types@2770
npm i https://pkg.pr.new/vinext@2770

commit: 29c640a

@github-actions

Copy link
Copy Markdown
Contributor
Example Preview Production Original
app-router-cloudflare preview production
pages-router-cloudflare preview production
app-router-playground preview production original
realworld-api-rest preview production
nextra-docs-template preview production
benchmarks preview production
hackernews preview production original
workers-cache preview production
web preview production

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 29c640a against base dc05459 using alternating same-runner rounds. Next.js was unchanged and skipped.

1 improved · 0 regressed · 5 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 134.5 KB 134.5 KB ⚫ 0.0%
Client entry size (gzip) vinext 122.1 KB 122.1 KB ⚫ 0.0%
Dev server cold start vinext 2.93 s 2.83 s 🟢 -3.6%
Production build time vinext 3.18 s 3.16 s ⚫ -0.7%
RSC entry closure size (gzip) vinext 112.3 KB 112.3 KB ⚫ -0.0%
Server bundle size (gzip) vinext 189.7 KB 189.7 KB ⚫ -0.0%

View detailed results and traces

🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head

@james-elicx

Copy link
Copy Markdown
Member Author

Superseded by #2777. The three client-routing failures were the same Pages dev hydration-order bug: React handlers were not installed before browser load, rather than a separate shallow-router defect. The exact original no-wait cases pass under real Next.js and under #2777, which now carries all six affected no-wait regressions plus the gSSP timestamp assertion from this PR. Keeping this branch for now.

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