Skip to content

Pass interception capability into App rendering - #100409

Merged
kassens merged 2 commits into
canaryfrom
kassens/render-interception-flag
Oct 20, 2026
Merged

kassens merged 2 commits into
canaryfrom
kassens/render-interception-flag

Conversation

@kassens

@kassens kassens commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Replaces #100334 after reordering the stack. GitHub automatically marked the original PR as merged into its previous stack parent; it was not merged into canary.

Summary

Continue decoupling App Router rendering from HTTP responses: carry couldBeIntercepted through RouteMatch instead of inferring it from the response's Vary header while generating HTML and Flight payloads.

Node supplies the existing route-matching result. The dev override and current Edge/build-time values are preserved. Adds payload assertions for interceptable and ordinary Node routes and a scoped restriction against importing NEXT_URL back into the renderer.

Verification

131 test executions passed:

  • Interception prefetch-cache and parallel-routing suites in test-start-turbo and test-start-webpack, including Node and Edge navigation.
  • Interception prefetch-cache suite in test-dev-turbo.
  • __NEXT_CACHE_COMPONENTS=true dev validation via instant-validation-static-shells (snapshot passed).
  • Standalone Edge bundling in test-start-webpack.

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Tests Passed

Commit: a4a716a

@kassens
kassens added this pull request to stack #100411 October 19, 2026 17:16
@kassens
kassens marked this pull request as ready for review October 19, 2026 17:27
@kassens
kassens requested a review from gnoff October 19, 2026 17:27
@kassens
kassens force-pushed the kassens/render-interception-flag branch from 1cc3996 to 8cc7940 Compare October 19, 2026 18:08
const couldBeIntercepted =
!!process.env.__NEXT_DEV_SERVER ||
(typeof varyHeader === 'string' && varyHeader.includes(NEXT_URL))
!!process.env.__NEXT_DEV_SERVER || ctx.couldBeIntercepted

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from the prior PR's feedback

should we move the dev check into the producxtion of couldBeIntercepted?

@kassens
kassens force-pushed the kassens/render-interception-flag branch 2 times, most recently from 44a8a51 to 431d6da Compare October 19, 2026 21:01
Base automatically changed from kassens/render-staged-fallback-params to canary October 19, 2026 21:36
@kassens
kassens force-pushed the kassens/render-interception-flag branch from 431d6da to 571d00b Compare October 19, 2026 21:36
@kassens
kassens force-pushed the kassens/render-interception-flag branch from 571d00b to a4a716a Compare October 19, 2026 21:58
@kassens
kassens merged commit 2128242 into canary Oct 20, 2026
220 of 223 checks passed
@kassens
kassens deleted the kassens/render-interception-flag branch October 20, 2026 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants