Commit Graph
13 Commits
Author SHA1 Message Date
overseerandClaude Opus 5.5 54867996b2 Task e57facc2: Keep a filter change off the silent SSE refresh path
History rows now carry the (filter, start, end) they were loaded for. Only
a reload for that same range keeps the rows on screen (an SSE refresh);
a filter or range change always goes through loading, and a failed load
shows the error state instead of the previous filter's rows. Replaces the
causeless silentNext flag (review finding NQ-210-1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 23:48:48 -04:00
overseerandClaude Opus 5.5 26f7d3a7d1 Task e57facc2: Undo and live SSE updates in the admin PWA
- api/events.ts: fetch-based reader for GET /api/v1/admin/events (admin JWT
  in the Authorization header via apiFetch, never in the URL), an incremental
  SSE frame parser that buffers frames split across chunks and drops malformed
  frames, and bounded-backoff reconnect with a clean abort on stop.
- api/useTransitions.tsx: one stream per signed-in shell (TransitionsProvider
  in App) fanned out to screens; no provider means no stream.
- Today: Undo posts /instances/{id}/uncomplete, disables every Undo while in
  flight, shows a dismissible message on failure, and refetches the snapshot;
  any transition refetches in place. Mark done stays inert.
- History: quest transitions refetch the active filter in place; rows stay
  read-only.
- Tests for parsing, stream auth/teardown/reconnect, Undo, and live refetch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 23:40:10 -04:00
dev_agent 75b2ac888a Task e5133d0f: CSV export of the filtered range (#209) 2026-09-23 23:33:37 -04:00
dev_agent bc3e64b4f8 Task 9b9188b8: History tab - filters, rows, stats and footer (#208) 2026-09-23 23:26:03 -04:00
dev_agent cc970bb646 Task 4ae0c879: Presence override with live consequence count (#207) 2026-09-23 23:16:04 -04:00
dev_agent 7b5177d055 Task d96d8925: Presence schedule month grid (#206) 2026-09-23 22:51:16 -04:00
dev_agent a22f990bd6 Task b50b048f: Lucide icon picker (shipped subset) (#205) 2026-09-23 22:39:25 -04:00
dev_agent 4b56e2f68a Task 85b2f166: Recurrence occurrence preview (#204) 2026-09-23 22:30:04 -04:00
dev_agent 33d8e0d2ac Task 2e96585c: Definitions list and edit sheet (#198) 2026-09-23 21:26:27 -04:00
dev_agent be4fd04754 Task e0a2b862: Today tab (#192) 2026-09-23 20:13:52 -04:00
dev_agent f476821e8e Task 96ab3c0b: PWA manifest and service worker (#189) 2026-09-23 19:42:27 -04:00
dev_agent 75ad9892b8 Task 630c3472: Authentik OIDC PKCE login and refusal handling (#188) 2026-09-23 18:30:07 -04:00
dev_agent 48d0c4ef86 Task 0df715b5: React scaffold, build and serve (#187) 2026-09-23 16:39:36 -04:00