feat(web): hydrate dashboard tiles independently #42
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/independent-tile-hydration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Why
The initial dashboard render was blocked by
/api/dashboardresolving all Prometheus, Uptime Kuma, weather, and status datasource work before React could show the dashboard. This removes the full-screen loading gate and lets each tile own its loading state.Changes
/api/dashboardnow returns the ready shell immediately with hydration capability metadata./api/dashboard/tile/...endpoint resolves individual dashboard items.DISABLE_LIVE_DATASOURCES=1.Testing
bun install --frozen-lockfilebun run --cwd apps/web test src/App.test.tsx src/server/routes/dashboard.test.tsbun run checkbun run test:unitbun run buildbun run build-storybookPLAYWRIGHT_PORT=4174 PLAYWRIGHT_STORYBOOK_PORT=6008 bun run --cwd apps/web test:e2ehttp://127.0.0.1:4173: 51 delayed tile requests, noLoading Dashboardintro text, 51 tile-level loading labels during hydration, and 0 loading labels after hydration settled.Notes
The live path intentionally starts many independent tile requests. Runtime-health summary and system-status tiles still aggregate service health server-side, which is a performance follow-up rather than a merge blocker.