Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
32dbefe
feat(cloudflare): prewarm canonical RSC navigation requests
james-elicx Jul 31, 2026
7cb5edd
fix(cloudflare): harden RSC cache warming boundaries
james-elicx Jul 31, 2026
aa6d718
fix(cloudflare): enforce RSC cache admission
james-elicx Jul 31, 2026
8d62476
fix(cloudflare): close remaining warmup edge cases
james-elicx Jul 31, 2026
4956463
fix(cloudflare): canonicalize cacheable RSC clients
james-elicx Jul 31, 2026
38c0b97
Merge remote-tracking branch 'origin/main' into codex/rsc-vary-cache-…
james-elicx Jul 31, 2026
59c4280
fix(cache): isolate canonical RSC redirects
james-elicx Jul 31, 2026
5354bba
fix(cache): scope RSC redirect isolation
james-elicx Jul 31, 2026
9b224b8
test(prerender): match cacheable fixture policy
james-elicx Jul 31, 2026
6a81b40
test(prerender): describe ISR fixture accurately
james-elicx Jul 31, 2026
5fd171c
test(cloudflare): verify canonical RSC navigation state
james-elicx Aug 1, 2026
c87313f
fix(cache): gate canonical RSC requests on prerender results
james-elicx Aug 1, 2026
879c49d
fix(cache): harden RSC prewarm eligibility
james-elicx Aug 1, 2026
af1a3fe
fix(cloudflare): validate RSC warmup eligibility
james-elicx Aug 1, 2026
8ac76fe
fix(cache): validate canonical RSC prewarming
james-elicx Aug 2, 2026
52ea641
fix(cache): preserve RSC prewarm request semantics
james-elicx Aug 2, 2026
9f38743
chore: merge main and address review findings
james-elicx Aug 3, 2026
e290b59
chore: merge latest main
james-elicx Aug 3, 2026
abbc033
fix(cache): preserve safe RSC prewarming semantics
james-elicx Aug 3, 2026
bb0ae55
fix(cache): harden RSC prewarm eligibility
james-elicx Aug 3, 2026
50eff97
fix(cache): close RSC warmup safety gaps
james-elicx Aug 3, 2026
acc12a5
fix(cache): inherit environment cache settings
james-elicx Aug 3, 2026
fe682a4
fix(cache): address final RSC warmup review findings
james-elicx Aug 3, 2026
a12549e
test(cache): verify warmer and browser share RSC entry
james-elicx Aug 3, 2026
4765290
fix(cache): preserve RSC vary identity across navigation
james-elicx Aug 3, 2026
6419883
fix(app-router): align RSC vary with route topology
james-elicx Aug 3, 2026
d69e3aa
Merge remote-tracking branch 'origin/main' into codex/rsc-vary-cache-…
james-elicx Aug 3, 2026
e0e3ec3
fix(cloudflare): harden RSC warmup edge cases
james-elicx Aug 3, 2026
73cc10b
fix(cache): close final RSC warmup review findings
james-elicx Aug 3, 2026
a187fb2
Merge remote-tracking branch 'origin/main' into codex/rsc-vary-cache-…
james-elicx Aug 3, 2026
8df85aa
fix(cache): preserve strict RSC warmup invariants
james-elicx Aug 3, 2026
4c3fd9e
fix(cache): harden RSC prewarm cache invariants
james-elicx Aug 3, 2026
dd0003a
fix(cache): close RSC prewarm review gaps
james-elicx Aug 3, 2026
c5a6bb9
fix(cache): close RSC prewarm review findings
james-elicx Aug 3, 2026
3225279
fix(cache): isolate canonical RSC cache variants
james-elicx Aug 3, 2026
46fe9d0
fix(router): preserve RSC navigation variant identity
james-elicx Aug 3, 2026
889317f
fix(cache): preserve complete navigation reuse
james-elicx Aug 3, 2026
fe3f0ff
fix(cloudflare): prewarm every configured host
james-elicx Aug 3, 2026
141bc54
fix(cloudflare): respect warmup route scopes
james-elicx Aug 3, 2026
589d7d8
fix(cloudflare): complete prewarm target coverage
james-elicx Aug 3, 2026
20913df
fix(link): scope pending prefetch cancellation
james-elicx Aug 3, 2026
736b6c0
fix(cache): close RSC prewarm review findings
james-elicx Aug 3, 2026
8306ee4
fix(cloudflare): bound version probe response bodies
james-elicx Aug 3, 2026
82e8ad7
Merge remote-tracking branch 'origin/main' into codex/rsc-vary-cache-…
james-elicx Aug 3, 2026
ea69eaa
fix(client): keep prefetch request state internal
james-elicx Aug 3, 2026
c967bf4
Merge remote-tracking branch 'origin/main' into codex/rsc-vary-cache-…
james-elicx Aug 19, 2026
a2f9ee5
fix(app-router): preserve RSC cache isolation after merge
james-elicx Aug 19, 2026
e7e6b93
fix(build): retain static metadata warm policy
james-elicx Aug 19, 2026
e94af75
test(cloudflare): update RSC smoke Vary contract
james-elicx Aug 19, 2026
9e1040b
fix(cache): certify Pages prewarm variants safely
james-elicx Aug 19, 2026
53af4ba
Merge remote-tracking branch 'origin/main' into codex/rsc-vary-cache-…
james-elicx Aug 19, 2026
92313dc
fix(build): require proof for metadata prewarming
james-elicx Aug 19, 2026
40cd83b
fix(cache): fail closed on prewarm eligibility
james-elicx Aug 19, 2026
f413d8b
Merge remote-tracking branch 'origin/main' into codex/rsc-vary-cache-…
james-elicx Aug 19, 2026
27fff04
fix(cache): preserve RSC prewarm client boundaries
james-elicx Aug 19, 2026
c81eb63
fix(cache): preserve contextual RSC semantics
james-elicx Aug 19, 2026
a21d36c
fix(cache): cover Pages CDN boundaries and prewarm paths
james-elicx Aug 19, 2026
0786d69
fix(cache): harden adapter response boundaries
james-elicx Aug 19, 2026
4ce107e
fix(cache): preserve cache safety across router boundaries
james-elicx Aug 19, 2026
902c6dc
fix(cache): classify Pages routes before prewarming
james-elicx Aug 19, 2026
eaa5ad9
fix(cache): fail closed on source-dependent Pages responses
james-elicx Aug 19, 2026
1569ae1
fix(cache): preserve adapter and revalidation identity
james-elicx Aug 19, 2026
ea15c8a
fix(cache): preserve Pages ISR behind CDN denial
james-elicx Aug 19, 2026
b8c49e2
fix(cache): restore Pages Router adapter semantics
james-elicx Aug 19, 2026
9765347
fix(cache): close response-vary review gaps
james-elicx Aug 19, 2026
c6d2ccf
fix(cache): address final RSC prewarm review findings
james-elicx Aug 19, 2026
8a3ceb7
fix(cache): finalize pages responses through adapters
james-elicx Aug 19, 2026
586fd81
fix(cache): finalize early router responses through adapters
james-elicx Aug 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/deploy-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,17 @@ jobs:
run: vp run build

- name: Build example
if: github.event_name != 'pull_request' || matrix.example.name != 'workers-cache'
run: vp build
working-directory: ${{ matrix.example.working_directory }}

- name: Build Workers Cache preview with prewarmable routes
if: github.event_name == 'pull_request' && matrix.example.name == 'workers-cache'
run: vp exec vinext build
working-directory: ${{ matrix.example.working_directory }}
env:
VINEXT_PREPARE_RSC_WARM_PREVIEW: "1"

- name: Apply D1 migrations (benchmarks only)
if: matrix.example.name == 'benchmarks' && github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: cloudflare/wrangler-action@ebbaa1584979971c8614a24965b4405ff95890e0 # v4.0.0
Expand Down
3 changes: 3 additions & 0 deletions apps/web/wrangler.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,7 @@
"cache": {
"enabled": true,
},
"version_metadata": {
"binding": "VINEXT_VERSION_METADATA",
},
}
3 changes: 3 additions & 0 deletions examples/workers-cache/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,16 @@ import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";
import { cloudflare } from "@cloudflare/vite-plugin";

const prepareRscWarmPreview = process.env.VINEXT_PREPARE_RSC_WARM_PREVIEW === "1";

export default defineConfig({
plugins: [
vinext({
cache: {
cdn: cdnAdapter(),
data: kvDataAdapter(),
},
prerender: prepareRscWarmPreview ? { routes: "*" } : undefined,
}),
cloudflare({
viteEnvironment: {
Expand Down
3 changes: 3 additions & 0 deletions examples/workers-cache/wrangler.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,8 @@
"cache": {
"enabled": true,
},
"version_metadata": {
"binding": "VINEXT_VERSION_METADATA",
},
"kv_namespaces": [{ "binding": "VINEXT_KV_CACHE", "id": "b38f84f642aa4bd4ba17a37bb516f0b5" }],
}
5 changes: 5 additions & 0 deletions knip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@ export default {
// Runtime helpers imported by generated virtual entries. The imports
// are emitted as strings, so knip cannot trace them statically.
"src/client/react-instance-bootstrap.ts",
// Capability-selected virtual modules import these implementation
// namespaces through generated strings, so Knip cannot see every
// registered method as a static consumer.
"src/client/rsc-prewarm-runtime.ts",
"src/server/rsc-prewarm-runtime.ts",
"src/server/app-middleware.ts",
"src/server/app-page-dispatch.ts",
"src/server/app-page-head.ts",
Expand Down
Loading
Loading