All dashboard pages poll the State Hub API automatically. No manual refresh is ever needed.
---
## Poll interval
Every page fetches fresh data from `http://127.0.0.1:8000` every **15 seconds** using an async generator loop. The previous data stays visible while the next request is in flight, so the UI never goes blank.
---
## The live indicator
The **●** dot in the top-right corner of each page shows the current connection state:
| Indicator | Meaning |
|---|---|
| **● Live · updated HH:MM:SS** | Last poll succeeded — data is current as of that time |
| **● Offline — run: `make api`** | API is unreachable — the dot turns red |
The timestamp updates on every successful poll. If you see a time that is more than ~30 seconds in the past, the poll is stalled (browser tab backgrounded or network issue) — reloading the page resets the loop.
---
## Offline recovery
If the API goes offline while you are viewing a page:
1. The indicator turns red immediately on the next failed poll (within 15 s)
2. The last successfully loaded data stays visible
3. Once the API restarts, the indicator turns green on the next poll — **no page reload needed**