← Inbox
Message
Three stages on one route. Resolve chips stamp how long after navigation start each panel painted.
Shellin App Shell — instant on soft nav
Shell still works offline
Priya Nair·Sun
Prefetchawait prefetch() — warm with prefetch={true}
With Partial Prefetching the subject line shows even when the network drops. Dynamic holes just wait.
Navigationawait navigation() — never in a prefetch
Priya NairSun
With Partial Prefetching the subject line shows even when the network drops. Dynamic holes just wait.
YouSun
Try the Offline Resilience demo next — same shell idea with useOffline feedback.
Priya NairSun
Already queued. Ping action retry is the part I care about most.
How the stages defer
import { prefetch as prefetchStage, navigation } from "next/cache";
async function PrefetchPreview({ id }) {
await prefetchStage(); // out of shell; in per-link prefetch
return <Preview data={await getCachedPreview(id)} />;
}
async function NavigationThread({ id }) {
await navigation(); // only on real navigation
return <Thread items={await getCachedThread(id)} />;
}