mirror of
https://github.com/cloudflare/vinext.git
synced 2026-05-09 08:25:34 +02:00
[PR #841] [CLOSED] feat(app-router): send X-Vinext-Router-Skip on navigation requests [4/6] #890
Labels
No labels
enhancement
enhancement
good first issue
help wanted
nextjs-tracking
nextjs-tracking
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/vinext#890
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/cloudflare/vinext/pull/841
Author: @NathanDrake2406
Created: 4/14/2026
Status: ❌ Closed
Base:
main← Head:feat/pr-768-4-skip-header-transport📝 Commits (4)
4c2f81ffeat(app-router): filter skipped layouts from RSC responses and cached readsbc703d5fix(app-router): address skip-filter review feedback73d9224fix(app-router): tighten dormant skip-filter defaults73f3470feat(app-router): send X-Vinext-Router-Skip on navigation requests📊 Changes
11 files changed (+1712 additions, -18 deletions)
View changed files
📝
packages/vinext/src/entries/app-rsc-entry.ts(+9 -0)📝
packages/vinext/src/server/app-browser-entry.ts(+6 -12)📝
packages/vinext/src/server/app-elements.ts(+79 -0)📝
packages/vinext/src/server/app-page-cache.ts(+12 -1)📝
packages/vinext/src/server/app-page-render.ts(+25 -5)➕
packages/vinext/src/server/app-page-skip-filter.ts(+340 -0)📝
tests/__snapshots__/entry-templates.test.ts.snap(+54 -0)📝
tests/app-elements.test.ts(+145 -0)📝
tests/app-page-cache.test.ts(+156 -0)📝
tests/app-page-render.test.ts(+384 -0)➕
tests/app-page-skip-filter.test.ts(+502 -0)📄 Description
Summary
PR 4 of 6 — restack of #768. Stacked on #840.
Introduces `buildSkipHeaderValue` and `createRscNavigationRequestHeaders` in `app-elements.ts`. The client-side browser entry now uses the centralized request-header builder for navigation fetches and forwards the current layout flags so subsequent navigations can signal which static layouts the server may omit from the response body.
PR 3's server-side filter remains gated by `supportsFilteredRscStream: false`, so this PR only wires the transport; no behavior change until a later PR flips the gate.
Stack
Test plan
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.