Files
Josh Story 50073d6def Suspend unresolved root parameter reads inside public caches
A generic fallback shell can have an unresolved root parameter. Reading
that root directly already suspends, but reading it inside `use cache`
returned the opaque placeholder and could persist placeholder-derived UI
in the resume cache. For example, a cached `lang().toUpperCase()` could
render `%%DRP:LANG:...%%` for a later French request.

Propagate the fallback mask into public caches and abort the cache fill
when an unresolved root value is consumed. Share cancellation through
nested caches so an outer cache cannot retain the inner placeholder read.
Preserve tracked root dependencies while cancellation completes.

Add a real Cache Components fixture without paramMatching. Cold fallback
debug renders exercise direct and nested cached reads, followed by concrete
requests that must not reuse placeholder-derived content. All three tests
fail without this fix. Existing concrete-root cache coverage also passes.
2026-09-19 11:02:53 -07:00
..

See Testing for more information on how you can run/write/debug tests for Next.js.