hyperhive/hive-fr0nt/assets
iris 32f4796a7f dashboard: re-sync /api/state on SSE (re)connect
The dashboard cold-loaded its derived stores (approvals, questions,
containers, …) from /api/state once, then relied solely on live SSE
events. Events that fired during a disconnect window (reconnect,
hive-c0re restart) are never replayed, so the dashboard drifted stale
until a manual reload.

- terminal.js: add onStreamOpen, fired on every EventSource open
  (initial + reconnect); the dashboard wires it to refreshState() so
  every connection epoch re-syncs the authoritative snapshot.
- terminal.js: seq-dedupe only event kinds that actually appeared in
  the history replay. Mutation events are never in /dashboard/history,
  so deduping them against the broker-history seq wrongly dropped ones
  that fired between the /api/state snapshot and the history fetch.
- app.js: make applyApprovalResolved / applyQuestionResolved
  idempotent (guard the history unshift by id) so a re-sync
  overlapping a live event can't double a history row.

closes #163
2026-05-21 18:25:42 +02:00
..
base.css hive-fr0nt: scaffold shared frontend-assets crate 2026-05-17 11:46:37 +02:00
marked.min.js agent terminal: coherence pass 2026-05-18 18:13:14 +02:00
terminal.css agent terminal: coherence pass 2026-05-18 18:13:14 +02:00
terminal.js dashboard: re-sync /api/state on SSE (re)connect 2026-05-21 18:25:42 +02:00