Skip to content

fix(cloudflare): prewarm routed response stages - #3153

Draft
james-elicx wants to merge 5 commits into
codex/cdn-v2-cloudflare-entrypointsfrom
codex/cdn-v2-cloudflare-prewarm
Draft

fix(cloudflare): prewarm routed response stages#3153
james-elicx wants to merge 5 commits into
codex/cdn-v2-cloudflare-entrypointsfrom
codex/cdn-v2-cloudflare-prewarm

Conversation

@james-elicx

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

Copy link
Copy Markdown
Member

Part 13 of 16 in the staged CDN adapter stack. Depends on #3152.

Summary

  • prewarms cacheable URLs through the routed response-stage path
  • keeps explicit warm targets, discovered App/Pages routes, draft exclusion, and probe artifacts aligned
  • preserves main's per-route Worker-version propagation wait before classifying a staged route
  • verifies deployed App HTML, Pages HTML/data, and RSC reuse while middleware/config headers remain request-specific
  • verifies deployed CF-Cache-Status MISS/HIT values are mirrored through both vinext/Next.js cache headers

Validation

  • 507 focused Cloudflare probe, warm, and deploy tests passed
  • local Cloudflare E2E: 16 passed, 1 deploy-only skip
  • PPR cacheability E2E: 8 passed

Review size

  • Implementation: +279 / -86 LOC
  • Tests and fixtures: +703 / -6 LOC
  • Other (docs, config, lockfile): +57 / -5 LOC
  • 13 changed files

Measured against codex/cdn-v2-cloudflare-entrypoints 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@3153
npm i https://pkg.pr.new/create-vinext-app@3153
npm i https://pkg.pr.new/@vinext/types@3153
npm i https://pkg.pr.new/vinext@3153

commit: 4518eee

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Performance benchmarks

Compared 4518eee against base e91dec5 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.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.51 s 2.50 s ⚫ -0.2%
Production build time vinext 2.69 s 2.70 s ⚫ +0.4%
RSC entry closure size (gzip) vinext 125.6 KB 125.6 KB ⚫ +0.0%
Server bundle size (gzip) vinext 216.4 KB 216.4 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/cdn-v2-cloudflare-prewarm branch from ef600df to 2305d26 Compare September 2, 2026 10:25
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from 2305d26 to ce35362 Compare September 2, 2026 12:47
@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

@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from ce35362 to 8fe50d6 Compare September 2, 2026 13:41
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from 8fe50d6 to 260beef Compare September 2, 2026 14:16
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from 260beef to 5f5150e Compare September 2, 2026 15:11
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch 2 times, most recently from 65b54eb to ff552ab Compare September 2, 2026 15:27
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from ff552ab to 51e372f Compare September 2, 2026 15:36
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from 51e372f to a7dc1a6 Compare September 2, 2026 15:41
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from a7dc1a6 to cc64799 Compare September 2, 2026 16:26
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from cc64799 to cba44f0 Compare September 2, 2026 16:32
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from cba44f0 to ad32b56 Compare September 2, 2026 16:37
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from ad32b56 to aa1ad91 Compare September 2, 2026 16:46
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from aa1ad91 to dd95926 Compare September 2, 2026 17:12
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch 3 times, most recently from d41f3cd to a4f1d69 Compare September 2, 2026 19:09
@james-elicx
james-elicx force-pushed the codex/cdn-v2-cloudflare-prewarm branch from a4f1d69 to 4518eee Compare September 7, 2026 09:22
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