Home

madison / open-git

public
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

perf(home): make dashboard previews load instantly

3 months ago

ca94807
Authored
V.C. Billingsley6/11/2026, 2:41:15 AM
Phase 1 — prefetch + client cache reuse:
- next.config: experimental.staleTimes { dynamic: 30, static: 180 } so
  prefetched/visited dynamic preview RSC is retained client-side instead of
  discarded (default dynamic=0).
- dashboard-row: hover-intent now router.prefetch()es the preview RSC (all
  envs) so the click is a client-cache hit; warmPreview kept as the prod
  server-side data warm.

Phase 2 — only the detail re-renders on ?preview change:
- Move auth + the master list into (home)/layout.tsx, which Next preserves
  across same-route soft navigations, so loadDashboardLists + the 100+ row
  render happen once and persist.
- page.tsx slimmed to just the detail Suspense slot.
- Row derives its active highlight from useSearchParams (layout can't read
  searchParams); drop the threaded activeHref prop from Row/DashboardList.

Parent6728dd3

5 files changed
  • apps/web/app/(home)/dashboard-list.tsx+0−4
  • apps/web/app/(home)/dashboard-row.tsx+38−13
  • apps/web/app/(home)/layout.tsx+148−2
  • apps/web/app/(home)/page.tsx+11−141
  • apps/web/next.config.mjs+6−0