Summary
Vinext currently ignores non-numeric App route segment revalidate exports while resolving effective segment config. Next.js accepts export const revalidate = false to mean cache indefinitely (effectively Infinity).
This is a pre-existing parity gap, but PR #993 makes it more visible because layout/page segment config is now reduced across the full route tree.
Expected behavior
- A route whose only segment config is
revalidate = false should produce an explicit indefinite-cache policy rather than null/unset.
- Mixed segment configs should preserve shortest-wins semantics: numeric intervals should win over
false because any finite interval is shorter than Infinity.
Current behavior
resolveRevalidateSeconds() ignores false, so revalidate = false alone is indistinguishable from no segment config.
Notes
This likely needs a cache-layer representation for indefinite caching that is distinct from "unset" before the resolver can model this cleanly.
Summary
Vinext currently ignores non-numeric App route segment
revalidateexports while resolving effective segment config. Next.js acceptsexport const revalidate = falseto mean cache indefinitely (effectivelyInfinity).This is a pre-existing parity gap, but PR #993 makes it more visible because layout/page segment config is now reduced across the full route tree.
Expected behavior
revalidate = falseshould produce an explicit indefinite-cache policy rather thannull/unset.falsebecause any finite interval is shorter thanInfinity.Current behavior
resolveRevalidateSeconds()ignoresfalse, sorevalidate = falsealone is indistinguishable from no segment config.Notes
This likely needs a cache-layer representation for indefinite caching that is distinct from "unset" before the resolver can model this cleanly.