Skip to content

refactor(app): extract request stage - #3149

Merged
james-elicx merged 10 commits into
codex/cdn-v2-app-response-stagefrom
codex/cdn-v2-app-request-stage
Sep 7, 2026
Merged

refactor(app): extract request stage#3149
james-elicx merged 10 commits into
codex/cdn-v2-app-response-stagefrom
codex/cdn-v2-app-request-stage

Conversation

@james-elicx

@james-elicx james-elicx commented Sep 2, 2026

Copy link
Copy Markdown
Member

Part 9 of 16 in the staged CDN adapter stack. Depends on #3148.

Summary

  • extracts App middleware, routing, and request-context orchestration into a request stage
  • dispatches matched work through the App response-stage contract while preserving Pages fallback
  • keeps the generated RSC entry thin and preserves navigation, slot, and client-reuse context

Validation

  • focused App request-stage, Pages-bridge, worker-entry, and stage-contract tests
  • cumulative exact-tip changed-test sweep: 3,461 passed, 2 skipped
  • full exact-tip vp check

Review size

  • Implementation: +1072 / -49 LOC
  • Tests and fixtures: +957 / -15 LOC
  • Other (docs, config, lockfile): +3 / -0 LOC
  • 24 changed files

Measured against codex/cdn-v2-app-response-stage after rebasing onto main@a6931c0.

@pkg-pr-new

pkg-pr-new Bot commented Sep 2, 2026

Copy link
Copy Markdown

Open in StackBlitz

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

commit: dedf80b

@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from fe82462 to a1bc156 Compare September 2, 2026 09:43
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from a1bc156 to b5d1151 Compare September 2, 2026 09:49
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from b5d1151 to 31a64bf Compare September 2, 2026 12:47
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch 2 times, most recently from 7f11afe to e26f969 Compare September 2, 2026 14:16
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from e26f969 to e5b9ca5 Compare September 2, 2026 15:11
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch 2 times, most recently from f424e81 to ac4145d Compare September 2, 2026 15:27
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from ac4145d to 6f923ed Compare September 2, 2026 15:36
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from 6f923ed to 1c417f4 Compare September 2, 2026 15:41
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from 1c417f4 to 0a82400 Compare September 2, 2026 16:26
@github-actions

github-actions Bot commented Sep 2, 2026

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
static-export preview production
web preview production

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared dedf80b against base 62a70ed using alternating same-runner rounds. Next.js was unchanged and skipped.

0 improved · 1 regressed · 5 within ±1.5%

Scenario Framework Baseline Current Change
Client bundle size (gzip) vinext 142.3 KB 142.3 KB ⚫ +0.0%
Client entry size (gzip) vinext 129.6 KB 129.6 KB ⚫ +0.0%
Dev server cold start vinext 2.30 s 2.38 s 🔴 +3.4%
Production build time vinext 2.41 s 2.40 s ⚫ -0.4%
RSC entry closure size (gzip) vinext 125.4 KB 125.6 KB ⚫ +0.2%
Server bundle size (gzip) vinext 216.1 KB 216.4 KB ⚫ +0.1%

View detailed results and traces

🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head

@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from 0a82400 to 337f3b1 Compare September 2, 2026 16:32
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from 337f3b1 to f420a56 Compare September 2, 2026 16:37
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from f420a56 to 3154c9f Compare September 2, 2026 16:46
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from 3154c9f to 077fe6a Compare September 2, 2026 17:12
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from 077fe6a to daa9683 Compare September 2, 2026 18:46
@james-elicx
james-elicx force-pushed the codex/cdn-v2-app-request-stage branch from daa9683 to dedf80b Compare September 7, 2026 09:22
@james-elicx
james-elicx marked this pull request as ready for review September 7, 2026 20:34
@james-elicx
james-elicx merged commit bcc8a47 into main Sep 7, 2026
73 checks passed
@james-elicx
james-elicx deleted the codex/cdn-v2-app-request-stage branch September 7, 2026 20:48
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