Make live data status truthful and actionable #745

Closed
opened 2026-08-13 14:20:34 +00:00 by timmy · 0 comments
Owner

Problem

The global header says Live whenever the context section has no top-level error, even when Updates or Activity is degraded. Section freshness already exists, but operators cannot inspect it or discover the next retry from the mobile header. Reconnection also clears outage guidance before an authoritative refresh succeeds.

Vertical slice

  • Derive a bounded aggregate status from Work, Updates, and Activity freshness.
  • Make the header status open an accessible, mobile-safe data status sheet.
  • Show each feed state, snapshot age, and next retry.
  • Provide one single-flight Refresh now action with visible result.
  • Keep reconnect/outage guidance until refresh succeeds.

Acceptance

  • Healthy feeds show Live; one degraded feed names it; multiple degraded feeds show a bounded count.
  • Opening the sheet performs no fetch and focus returns to the trigger.
  • Refresh now is disabled in flight and reports success/failure without discarding retained data.
  • Reconnect remains Reconnecting until refresh success.
  • 390px mobile layout has no horizontal overflow and 44px controls.
  • Behavioral focused tests and the full suite pass.
## Problem The global header says `Live` whenever the context section has no top-level error, even when Updates or Activity is degraded. Section freshness already exists, but operators cannot inspect it or discover the next retry from the mobile header. Reconnection also clears outage guidance before an authoritative refresh succeeds. ## Vertical slice - Derive a bounded aggregate status from Work, Updates, and Activity freshness. - Make the header status open an accessible, mobile-safe data status sheet. - Show each feed state, snapshot age, and next retry. - Provide one single-flight Refresh now action with visible result. - Keep reconnect/outage guidance until refresh succeeds. ## Acceptance - Healthy feeds show Live; one degraded feed names it; multiple degraded feeds show a bounded count. - Opening the sheet performs no fetch and focus returns to the trigger. - Refresh now is disabled in flight and reports success/failure without discarding retained data. - Reconnect remains Reconnecting until refresh success. - 390px mobile layout has no horizontal overflow and 44px controls. - Behavioral focused tests and the full suite pass.
timmy self-assigned this 2026-08-13 14:20:34 +00:00
timmy closed this issue 2026-08-13 14:28:33 +00:00
Sign in to join this conversation.
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#745
No description provided.