mirror of
https://github.com/cloudflare/vinext.git
synced 2026-05-09 08:25:34 +02:00
[GH-ISSUE #478] Phase 2/2: Finalize ALS rollout with parity tests, cleanup, and docs #108
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#108
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?
Originally created by @Divkix on GitHub (Mar 11, 2026).
Original GitHub issue: https://github.com/cloudflare/vinext/issues/478
Originally assigned to: @aidantrabs on GitHub.
Why This Issue Exists
Phase 1 (
#451/ PR#450) already landed the core unified request-context rollout, including the main Pages Router entry points. The remaining work is follow-up validation, cleanup, and documentation rather than another large implementation pass.This issue is an umbrella follow-up for the ALS rollout and may span more than one PR.
Recommended Execution Order
First follow-up PR (required)
Focus on correctness, parity validation, and documentation:
<Head>elements do not leak between concurrent requestsrenderPage()rather than a separate wrapper inprod-server.tscacheContextStorageincache-runtime.ts_unstableCacheAlsincache.tsLater cleanup PR (optional / conditional)
Only remove standalone fallback ALS paths if the parity tests and production validation show they are truly unnecessary. If they still serve SSR, entry-wrapper, or test compatibility needs, defer deletion and record the rationale here.
Scope
1. Pages Router parity and coverage
<Head>elements do not leak between concurrent requestsrenderPage()rather than a separate wrapper inprod-server.ts2. Per-call ALS evaluation
Evaluate and document whether these should remain separate from the unified request scope:
cacheContextStorageincache-runtime.ts_unstableCacheAlsincache.tsExpected default: keep them separate unless benchmarking or correctness findings show otherwise, since they are semantically per-call rather than per-request.
3. Dual-path fallback cleanup
Once parity tests are in place and the rollout has had time to bake, remove standalone fallback ALS code only where it is clearly unnecessary:
headers.tsnavigation-state.tscache.tscache-runtime.ts(fallback/private-cache path only)fetch-cache.tsrequest-context.tsonly if validation proves the standalone behavior is no longer needed for outer entry-wrapper flowsrouter-state.tshead-state.tsIf some fallback paths still serve SSR, test, or entry-wrapper compatibility, keep them and document that decision instead of forcing deletion.
4. Documentation
Acceptance Criteria
cacheContextStorageand_unstableCacheAlsRelated
@aidantrabs commented on GitHub (Mar 12, 2026):
hi, i would like to work on this, if possible
@Divkix commented on GitHub (Mar 12, 2026):
Sure, you can work after #450 is merged
@aidantrabs commented on GitHub (Mar 13, 2026):
saw it was merged, will start working on it today ; you can assign me to the issue