Skip to content

offline navigations: add docs and examples (10/10)#93738

Draft
feedthejim wants to merge 1 commit intofeedthejim/offline-navigations-dynamic-route-patternsfrom
feedthejim/offline-navigations-docs
Draft

offline navigations: add docs and examples (10/10)#93738
feedthejim wants to merge 1 commit intofeedthejim/offline-navigations-dynamic-route-patternsfrom
feedthejim/offline-navigations-docs

Conversation

@feedthejim
Copy link
Copy Markdown
Contributor

@feedthejim feedthejim commented May 10, 2026

Stack Position

This is PR 10 of 10. It adds the user-facing docs and examples for experimental.offlineNavigations.

Review guide:
https://gist.github.com/feedthejim/a10f757cf07c5550f731adf2fcf1077b

Full Stack

  1. offline navigations: add gated build primitives (1/10) #93736 offline navigations: add gated build primitives (1/10)
  2. offline navigations: generate fallback document artifacts (2/10) #93737 offline navigations: generate fallback document artifacts (2/10)
  3. offline navigations: register pass-through worker (3/10) #93625 offline navigations: register pass-through worker (3/10)
  4. offline navigations: cache fallback and current-build assets (4/10) #93626 offline navigations: cache fallback and current-build assets (4/10)
  5. offline navigations: serve fallback document offline (5/10) #93627 offline navigations: serve fallback document offline (5/10)
  6. offline navigations: add router-cache persistence primitives (6/10) #93630 offline navigations: add router-cache persistence primitives (6/10)
  7. offline navigations: persist cached router records (7/10) #93640 offline navigations: persist cached router records (7/10)
  8. offline navigations: bootstrap fallback from router records (8/10) #93644 offline navigations: bootstrap fallback from router records (8/10)
  9. offline navigations: support dynamic route patterns (9/10) #93647 offline navigations: support dynamic route patterns (9/10)
  10. This PR: offline navigations: add docs and examples (10/10) #93738 offline navigations: add docs and examples (10/10)

What This Changes

This adds documentation for the first usable offline navigation scope:

  • the experimental.offlineNavigations config option;
  • the cacheComponents requirement;
  • the relationship to useOffline;
  • what users should perceive when they go offline;
  • how normal Link viewport prefetching makes a route available for offline hard reload;
  • what framework assets and router records are cached;
  • what is intentionally not guaranteed yet;
  • how existing router refresh and server invalidation APIs keep the offline copy from outliving the regular router cache.

What Works After This PR

Reviewers and early users have a guide, API reference, and cross-links that describe the same behavior implemented by PRs 1-9.

What Does Not Work Yet

This does not document a stable API. The feature remains experimental and Cache Components only. Dev simulation, custom offline miss UI, output export integration, and broader lifecycle controls remain follow-up work.

Reviewer Focus

Please focus on whether the docs explain the user-facing contract without over-documenting implementation details, and whether the caveats are practical for production apps rather than demo-only.

Proof in This PR

Docs lint passed for the edited docs:

  • npx eslint --config eslint.config.mjs docs/01-app/02-guides/offline-navigations.mdx docs/01-app/03-api-reference/05-config/01-next-config-js/offlineNavigations.mdx

The full stack behavior referenced by the docs is covered by:

  • HEADLESS=true pnpm test-start-turbo test/e2e/app-dir/offline-navigations-deploy/offline-navigations-deploy.test.ts
  • HEADLESS=true pnpm test-start-turbo test/production/app-dir/offline-navigations/offline-navigations.test.ts
  • HEADLESS=true pnpm test-start-webpack test/production/app-dir/offline-navigations/offline-navigations.test.ts

Deferred Coverage

True deploy-mode proof is pending CI or a custom deploy run because the local test-deploy-turbo attempt timed out during vercel link.

Docs Status

This PR is the docs slice for the stack.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 10, 2026

Tests Passed

Commit: 3867a97

@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-docs branch 3 times, most recently from b42991d to d05d9e9 Compare May 10, 2026 23:29
@feedthejim feedthejim changed the title offline navigations: add docs and examples (11/11) offline navigations: add docs and examples (10/10) May 10, 2026
@feedthejim feedthejim changed the base branch from feedthejim/offline-navigations-router-cache-invalidation to feedthejim/offline-navigations-dynamic-route-patterns May 10, 2026 23:32
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-dynamic-route-patterns branch from 65e9655 to 8590387 Compare May 11, 2026 03:04
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-docs branch from d05d9e9 to 816bee1 Compare May 11, 2026 03:04
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-dynamic-route-patterns branch from 8590387 to 84f5627 Compare May 11, 2026 04:04
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-docs branch from 816bee1 to 1185a06 Compare May 11, 2026 04:04
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-dynamic-route-patterns branch from 84f5627 to f0d70ed Compare May 11, 2026 04:09
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-docs branch from 1185a06 to eff5574 Compare May 11, 2026 04:09
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-dynamic-route-patterns branch from f0d70ed to be4811d Compare May 11, 2026 04:41
@feedthejim feedthejim force-pushed the feedthejim/offline-navigations-docs branch from eff5574 to 3867a97 Compare May 11, 2026 04:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by: Next.js team PRs by the Next.js team. Documentation Related to Next.js' official documentation. tests type: next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant