Optimize dashboard overview loading

This commit is contained in:
tegwick 2026-06-06 00:42:00 +02:00
parent a412998c96
commit b340489d96
14 changed files with 990 additions and 88 deletions

View file

@ -82,9 +82,13 @@ and summary.
## Data source
Polls `GET /state/summary` every **15 seconds**. The workstream chart also polls
`GET /workplans/`, `GET /tasks/?limit=2000`, `GET /topics/`, `GET /repos/`,
and `GET /workplans/index` for repository grouping, task counts, and
workplan filename tooltips. Blocking decisions are fetched separately via
`GET /decisions/?decision_type=pending` and only re-fetched after a successful
resolve action — this prevents the inline form from being wiped on every poll.
Polls `GET /state/overview` every **60 seconds**. This endpoint is a bounded
dashboard read model: it returns summary totals, recent activity, registration
milestones, SBOM totals, and chart-ready workplan rows with task counts already
aggregated server-side.
The page keeps the last successful overview response visible if a refresh times
out, and marks the view stale instead of clearing the dashboard. Blocking
decisions are fetched separately via `GET /decisions/?decision_type=pending`
and only re-fetched after a successful resolve action — this prevents the inline
form from being wiped on every poll.