Skip to content

fix(build): filter Pages-owned RSC warm paths - #3023

Closed
james-elicx wants to merge 1 commit into
codex/rsc-prewarm-staged-orchestrationfrom
codex/rsc-prewarm-hybrid-ownership
Closed

fix(build): filter Pages-owned RSC warm paths#3023
james-elicx wants to merge 1 commit into
codex/rsc-prewarm-staged-orchestrationfrom
codex/rsc-prewarm-hybrid-ownership

Conversation

@james-elicx

Copy link
Copy Markdown
Member

Summary

  • resolve each concrete App-discovered warm path through the same cross-router ownership decision used at runtime
  • exclude Pages page and Pages API-owned collisions only from full/loading-shell RSC warm targets
  • retain generic HTML warm discovery so the deployed Worker still decides response cacheability
  • compare against the best concrete App match, preserving more-specific App routes over broad Pages matches

This remains independent of local prerender output and the prerender flag.

Next.js references

Testing

  • vp test run tests/prerender-paths.test.ts tests/hybrid-route-priority.test.ts (28 passed)
  • vp check packages/vinext/src/build/prerender-paths.ts tests/prerender-paths.test.ts

Stacked on #3022.

@pkg-pr-new

pkg-pr-new Bot commented Aug 21, 2026

Copy link
Copy Markdown

Open in StackBlitz

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

commit: 4035031

@james-elicx
james-elicx force-pushed the codex/rsc-prewarm-hybrid-ownership branch 4 times, most recently from f82d38c to e208e30 Compare August 21, 2026 23:41
@james-elicx
james-elicx force-pushed the codex/rsc-prewarm-staged-orchestration branch from 720e33a to 017f58c Compare August 21, 2026 23:42
@james-elicx
james-elicx force-pushed the codex/rsc-prewarm-hybrid-ownership branch from e208e30 to fe651c8 Compare August 21, 2026 23:42
@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

@james-elicx
james-elicx force-pushed the codex/rsc-prewarm-hybrid-ownership branch from fe651c8 to 89370d0 Compare August 21, 2026 23:47
@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 4035031 against base 48cd8b7 using alternating same-runner rounds. Next.js was unchanged and skipped.

0 improved · 0 regressed · 6 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.0 KB 142.0 KB ⚫ -0.0%
Client entry size (gzip) vinext 129.3 KB 129.3 KB ⚫ -0.0%
Dev server cold start vinext 3.04 s 3.02 s ⚫ -0.6%
Production build time vinext 3.30 s 3.28 s ⚫ -0.6%
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
james-elicx force-pushed the codex/rsc-prewarm-staged-orchestration branch from 120cbef to 48cd8b7 Compare August 21, 2026 23:48
@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