Repository navigation
v3.6.1 — the cache that forgot on the wrong map
Fixes the page cache shipped in v3.6.0. Anyone on 3.6.0 should take this.
The round and the render remembered different things
src/lib/store.tsis instantiated twice in a server process — once in the Astro bundle that renders, once from source in the process that probes. Invalidation deleted from one copy while the page answered from the other.- The page,
status.json,history.json, the badge and the feed lagged the last round by up to 15 seconds always, not occasionally. - The events list is not cached and is read in the same request, so one document contradicted itself: a row reading "down · HTTP 500" above an event list saying it recovered 16 seconds earlier. 11,665 of 24,064 responses.
- Fixed by pinning what the page remembers across both copies, as
src/server/env.tsalready does for the database handle. Verified:updated_atand the newest row agree to the millisecond. - Invalidation also ran before the round's writes rather than after, so a render landing mid-round could cache half a round for the whole window — two of four rounds poisoned on Cloudflare.
A group has no answer of its own to give
last_status: nullmeans "nothing answered", and group rows published it about hosts that had answered 301 and 503. The field is absent for a group now.
Upgrading
- A pull. No schema or configuration change.