Remove isRoutePPREnabled from render options and delete dead PPR branch#90713
Remove isRoutePPREnabled from render options and delete dead PPR branch#90713devjiwonchoi merged 2 commits intocanaryfrom
isRoutePPREnabled from render options and delete dead PPR branch#90713Conversation
Stats from current PR🟢 1 improvement
📊 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: **401 kB** → **401 kB** ✅ -30 B80 files with content-based hashes (individual files not comparable between builds) 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.jsfailed to diffapp-page-tur..ntime.dev.jsfailed to diffapp-page-tur..time.prod.jsfailed to diffapp-page-tur..ntime.dev.jsfailed to diffapp-page-tur..time.prod.jsfailed to diffapp-page.runtime.dev.jsfailed to diffapp-page.runtime.prod.jsfailed to diff📎 Tarball URL |
Tests Passed |
f467532 to
aa68e3e
Compare
93ae32f to
b2e4a2a
Compare
2d3a810 to
4db6f5c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4db6f5ced9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // base-server will strip them to opt into different rendering behavior. | ||
| const parsedRequestHeaders = parseRequestHeaders(req.headers, { | ||
| isRoutePPREnabled: renderOpts.experimental.isRoutePPREnabled === true, | ||
| isRoutePPREnabled: renderOpts.cacheComponents === true, |
There was a problem hiding this comment.
Keep edge requests out of PPR header parsing
renderToHTMLOrFlight now feeds parseRequestHeaders with isRoutePPREnabled derived from renderOpts.cacheComponents, which makes edge app requests look PPR-enabled whenever cacheComponents is on. Before this change, the edge template explicitly set experimental.isRoutePPREnabled to false, so edge stayed on the non-PPR behavior. That matters because this repo explicitly treats cache-components/PPR as unsupported on edge (see next-swc-loader.ts and cache-signal.ts), so routing edge requests through PPR-specific parsing/render behavior can trigger unsupported runtime paths for edge deployments.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Edge not available in Cache Components
…h cases After PR #90713 removed the rendering branch that creates `prerender-ppr` stores, no code ever creates a store with `type: 'prerender-ppr'`. All switch cases handling it are dead code. - Delete `PrerenderStorePPR` interface and remove from `PrerenderStore` union - Remove 78 `case 'prerender-ppr':` switch cases across 28 files - Simplify `Postpone` component (dynamicTracking is always null now) - Remove dead `postponeWithTracking()` call sites only reachable from prerender-ppr - Clean up now-unused imports and dead functions
| // base-server will strip them to opt into different rendering behavior. | ||
| const parsedRequestHeaders = parseRequestHeaders(req.headers, { | ||
| isRoutePPREnabled: renderOpts.experimental.isRoutePPREnabled === true, | ||
| isRoutePPREnabled: renderOpts.cacheComponents === true, |
There was a problem hiding this comment.
Rename the option in ParseRequestHeadersOptions as well.
…anch Remove the `isRoutePPREnabled` field from `RenderOptsPartial.experimental` and all code gated behind it. Since `cacheComponents` is the only way to enable PPR, the `isRoutePPREnabled`-gated rendering branch in app-render was dead code (~240 lines deleted). In the cache layer, rename the field to `isCacheComponentsEnabled` since file-system-cache still needs the signal. In the render pipeline, replace reads with `renderOpts.cacheComponents`.
4db6f5c to
d0635b0
Compare
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…h cases After PR #90713 removed the rendering branch that creates `prerender-ppr` stores, no code ever creates a store with `type: 'prerender-ppr'`. All switch cases handling it are dead code. - Delete `PrerenderStorePPR` interface and remove from `PrerenderStore` union - Remove 78 `case 'prerender-ppr':` switch cases across 28 files - Simplify `Postpone` component (dynamicTracking is always null now) - Remove dead `postponeWithTracking()` call sites only reachable from prerender-ppr - Clean up now-unused imports and dead functions
…h cases After PR #90713 removed the rendering branch that creates `prerender-ppr` stores, no code ever creates a store with `type: 'prerender-ppr'`. All switch cases handling it are dead code. - Delete `PrerenderStorePPR` interface and remove from `PrerenderStore` union - Remove 78 `case 'prerender-ppr':` switch cases across 28 files - Simplify `Postpone` component (dynamicTracking is always null now) - Remove dead `postponeWithTracking()` call sites only reachable from prerender-ppr - Clean up now-unused imports and dead functions
…90721) Stacked on #90713 This PR removes `prerender-ppr` case handling in the codebase. Verified deployment tests pass on CI: https://github.com/vercel/next.js/actions/runs/22539297668
…anch (#90713) Stacked on #90704 This PR replaces `experimental.isRoutePPREnabled` render options with `cacheComponents` and removes unused code. Verified deployment tests pass on CI: https://github.com/vercel/next.js/actions/runs/22536405880
…90721) Stacked on #90713 This PR removes `prerender-ppr` case handling in the codebase. Verified deployment tests pass on CI: https://github.com/vercel/next.js/actions/runs/22539297668
Stacked on #90704
This PR replaces
experimental.isRoutePPREnabledrender options withcacheComponentsand removes unused code.Verified deployment tests pass on CI: https://github.com/vercel/next.js/actions/runs/22536405880