Scrum4Me/lib/realtime
Madhura68 8cc4e0aeb7 realtime: idea-store + extend notifications hook for idea events (M12 T-503)
stores/idea-store.ts (Zustand):
- jobByIdea, ideaStatuses, openQuestionsByIdea
- handleIdeaJobEvent: derives optimistic ideaStatus (queued/claimed/running →
  grilling/planning; failed → grill_failed/plan_failed; done = no-op since
  the server-side update_idea_*_md is source-of-truth)
- handleIdeaQuestionEvent: list-based, removes on non-open
- setIdeaStatus / setJobStatus / clearForIdea optimistic helpers
- connectedWorkers NOT duplicated — UI reads useSoloStore(s.connectedWorkers)

lib/realtime/use-notifications-realtime.ts:
- Single SSE serves both bell-questions and idea-state. Adds dispatcher
  branches: idea-job payloads → idea-store; idea-question payloads (idea_id
  set) → idea-store; story-questions → existing notifications-store path.

Tests: 7/7 idea-store cases (queued→grilling, failed→*_failed, done no-op,
question-list management, clearForIdea isolation).
Full suite: 546/546 green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 20:02:22 +02:00
..
pg-client-cleanup.ts fix(realtime): force-destroy pg socket on cleanup timeout (SSE leak) (#44) 2026-05-01 20:04:22 +02:00
use-backlog-realtime.ts feat(M14): 3-pane backlog — generic SplitPane, BacklogStore, SSE realtime, card-grid TaskPanel (#22) 2026-04-30 18:16:07 +02:00
use-notifications-realtime.ts realtime: idea-store + extend notifications hook for idea events (M12 T-503) 2026-05-04 20:02:22 +02:00
use-solo-realtime.ts M13: Claude job queue — 'Voer uit'-knop + worker presence (ST-1111) (#18) 2026-04-29 19:51:48 +02:00