Retain live snapshots while revalidating #140

Merged
rockachopa merged 1 commits from timmy/139-stale-while-revalidate-live-snapshot into main 2026-08-06 21:33:48 +00:00
Member

Closes #139

Outcome

  • retains the last successful live snapshot for an eight-second freshness window
  • serves recent data immediately while one cancellation-safe background refresh revalidates stale state
  • exposes freshness metadata and announces revalidation in the dashboard
  • removes acknowledged notifications immediately and prevents an in-flight stale refresh from restoring them
  • preserves cold-start timeout/503 behavior and Cache-Control: no-store

Verification

  • python3 -m pytest -q — 122 passed
  • node --check frontend/context-poller.js
  • rendered dashboard includes mobile viewport metadata and revalidation status
Closes #139 ## Outcome - retains the last successful live snapshot for an eight-second freshness window - serves recent data immediately while one cancellation-safe background refresh revalidates stale state - exposes freshness metadata and announces revalidation in the dashboard - removes acknowledged notifications immediately and prevents an in-flight stale refresh from restoring them - preserves cold-start timeout/503 behavior and `Cache-Control: no-store` ## Verification - `python3 -m pytest -q` — 122 passed - `node --check frontend/context-poller.js` - rendered dashboard includes mobile viewport metadata and revalidation status
rockachopa added 1 commit 2026-08-06 21:33:10 +00:00
feat: retain live snapshots while revalidating (#139)
All checks were successful
CI / lint (pull_request) Successful in 9s
CI / build-frontend (pull_request) Successful in 5s
ea7bd15721
rockachopa merged commit cafc062b9f into main 2026-08-06 21:33:48 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#140
No description provided.