┌─ 404human ─────────┐
  │  $ whoami          │
  └────────────────────┘
404human
Rust runtimes, background jobs, AI infrastructure

Service Monitor build log M6 · 6.6

· 1 min read · experiment

Checkpoint 6.6: auto-refresh

Both pages poll invalidateAll on the 15-second tick — atomic data swaps with no stale-green flash, and a mid-poll outage honestly resolves to 'cannot see'.

at a glance
Goal
Fresh evidence without a reload — and without ever painting stale data over new uncertainty.
Built
invalidateAll() on the 15 s minimum tick, guarded by tab visibility; SvelteKit keeps the last data until the new load resolves, so the swap is atomic.
Result
a monitor created mid-session appears without navigation · a route-aborted API mid-poll shows 'cannot see' on the next tick
Code
akira-shirase-oss/monitoring-service · main @ 7fc8200

Sixth slice.

Gap: data loaded per navigation; you reloaded to see a new check.

What changed: both pages call invalidateAll() on the 15-second minimum tick — the same floor the scheduler uses — guarded by tab visibility so a hidden tab polls nothing. The honesty property is in SvelteKit’s semantics: the old data stays until the new load resolves, so the swap is atomic — no stale-green flash — and if the API dies mid-poll the load honestly resolves to “cannot see”, not a frozen board.

Proof: a monitor created through the API mid-session appears on the list without navigation; a route-aborted API mid-poll shows the unreachable banner on the next tick rather than clinging to the last good data.


← previous · 6.5
Check strip
next · 6.7 →
Status in-app

← All writing