cloudflare / cloudflare/vinext
Resume Data Cache (RDC) not consistent between static and dynamic renders
- Dominant language
- TypeScript
- Stars
- 8.8k
- Forks
- 406
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 120
Description
> *This issue was created by an agent analysing CI failures from the [Next.js Deploy Suite](https://github.com/cloudflare/vinext/actions/runs/26282973805) (vinext `main` vs Next.js `v16.2.6`, 2026-05-22).*
## Problem
Pages rendered with `"use cache"` and `fetch` cache do not produce the same data on dynamic render that they produced during prerender — the Resume Data Cache is not being primed from the prerender or is not being consulted during dynamic render. `updateTag` from server actions also does not bust the RDC entry, so the same stale value persists when it should refresh.
```
Expected substring: "0.5672323145592139"
Received: ...
0.9168380475126083
```
## Estimated Impact
~4 test failures across the deploy suite.
## Affected Test Suites
- `test/e2e/app-dir/resume-data-cache/resume-data-cache.test.ts` (4 failures)
## Recommendation
1. **Reproduce first in vinext's own test suite.** Add a page with `"use cache"` that returns a random number, prerender, then hit the page dynamically. Assert the same random number is returned.
2. **Persist prerender cache state into the RDC.** Serialise cache outputs during prerender and expose them to the runtime so dynamic renders read the prerendered values.
3. **Bust the RDC on `updateTag`.** Tag invalidations should clear matching RDC entries.
Contributor guide
Assessment
This issue has not been assessed yet.