Skip to content

fix(router): keep warmed RSC ownership rewrite-safe - #3029

Closed
james-elicx wants to merge 1 commit into
codex/rsc-prewarm-exact-validationfrom
codex/rsc-prewarm-rewrite-ownership
Closed

fix(router): keep warmed RSC ownership rewrite-safe#3029
james-elicx wants to merge 1 commit into
codex/rsc-prewarm-exact-validationfrom
codex/rsc-prewarm-rewrite-ownership

Conversation

@james-elicx

Copy link
Copy Markdown
Member

Stacked on #3028.

Summary

  • expose configured locales from the App browser entry so hybrid route ownership matches locale-prefixed App paths correctly
  • evaluate client rewrites against the raw basePath-stripped App pathname while continuing to locale-normalize Pages matching
  • conservatively omit rewrite-affected App paths from canonical RSC and loading-shell warm discovery

Scope

This only protects the identity shared by client RSC navigation and deploy-time CDN warming. It does not change server rewrite execution, ISR eligibility, HTML discovery, middleware, or development mode.

Validation

  • vp test run tests/entry-templates.test.ts tests/hybrid-client-route-owner.test.ts tests/pages-router-app-prefetch-detection.test.ts tests/prerender-paths.test.ts (119 tests)
  • vp check on all 9 touched files
  • vp run vinext#build

@pkg-pr-new

pkg-pr-new Bot commented Aug 22, 2026

Copy link
Copy Markdown

Open in StackBlitz

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

commit: 2d668a6

@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

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 2d668a6 against base f42fdcb using alternating same-runner rounds. Next.js was unchanged and skipped.

2 improved · 0 regressed · 4 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.1 KB 142.1 KB ⚫ +0.0%
Client entry size (gzip) vinext 129.4 KB 129.5 KB ⚫ +0.0%
Dev server cold start vinext 2.43 s 2.38 s 🟢 -2.0%
Production build time vinext 2.70 s 2.65 s 🟢 -1.9%
RSC entry closure size (gzip) vinext 116.0 KB 116.0 KB ⚫ -0.0%
Server bundle size (gzip) vinext 197.5 KB 197.5 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 consolidated PR #3040. No commits were dropped or rewritten: #3040 now contains this exact linear commit as part of #3021#3040. Closing only the redundant draft PR.

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