Scrum4Me/lib
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
..
auth M10: Password-loze inlog via QR-pairing (ST-1001..ST-1008) (#12) 2026-04-28 00:01:04 +02:00
idea-prompts prompts: embedded grill + make-plan prompts for IDEA_* jobs (M12 T-495) 2026-05-04 19:41:56 +02:00
insights fix: drop \{ not: null }\ filters — Prisma 7 rejects them at runtime 2026-05-04 19:44:48 +02:00
realtime realtime: idea-store + extend notifications hook for idea events (M12 T-503) 2026-05-04 20:02:22 +02:00
schemas lib: idea schemas + status mappers + transition guards (M12 T-493) 2026-05-04 19:38:52 +02:00
api-auth.ts feat(M8): Realtime Solo Paneel via Postgres LISTEN/NOTIFY (ST-801..ST-806) (#8) 2026-04-27 13:59:32 +02:00
auth-guard.ts feat(ST-1134): (mobile) route group + auth-guard helper + manifest (T-321) 2026-05-04 09:55:18 +02:00
auth.ts feat(ST-350): add auth helpers — getSession, requireUser, requireWriter, requireProductAccess, requireProductWriter 2026-04-26 16:03:32 +02:00
chart-colors.ts Foundation: route, recharts, sprint-dates migration, chart-colors helper (#46) 2026-05-02 15:58:15 +02:00
code-server.ts feat(codes): generateNextTaskCode + CODE_REGEX export + Zod regex op alle 3 schemas 2026-05-04 08:36:28 +02:00
code.ts feat(codes): generateNextTaskCode + CODE_REGEX export + Zod regex op alle 3 schemas 2026-05-04 08:36:28 +02:00
env.ts M11: Claude vraagt, gebruiker antwoordt (ST-1101..ST-1108) (#13) 2026-04-29 11:38:23 +02:00
idea-code-server.ts lib: idea-code generator + plan_md yaml-frontmatter parser (M12 T-494) 2026-05-04 19:40:39 +02:00
idea-code.ts lib: idea-code generator + plan_md yaml-frontmatter parser (M12 T-494) 2026-05-04 19:40:39 +02:00
idea-dto.ts api: REST endpoints for ideas (M12 T-500) 2026-05-04 19:55:49 +02:00
idea-plan-parser.ts lib: idea-code generator + plan_md yaml-frontmatter parser (M12 T-494) 2026-05-04 19:40:39 +02:00
idea-status.ts lib: idea schemas + status mappers + transition guards (M12 T-493) 2026-05-04 19:38:52 +02:00
job-status-url.ts M13: Veilige Claude-agent-workflow (Scrum4Me-side) (#26) 2026-05-01 13:42:18 +02:00
job-status.ts M13: Claude job queue — 'Voer uit'-knop + worker presence (ST-1111) (#18) 2026-04-29 19:51:48 +02:00
prisma.ts chore: SQLite verwijderd — alleen PostgreSQL via Neon 2026-04-25 12:15:19 +02:00
product-access.ts feat: show active product name in navbar, links to product page 2026-04-26 17:56:50 +02:00
rate-limit.ts actions: ideas CRUD + grill_md/plan_md edit + download (M12 T-496) 2026-05-04 19:47:30 +02:00
session.ts M10: Password-loze inlog via QR-pairing (ST-1001..ST-1008) (#12) 2026-04-28 00:01:04 +02:00
task-status.ts M12 / ST-1109: PBI krijgt een status (Ready / Blocked / Done) (#16) 2026-04-29 17:52:34 +02:00
tasks-status-update.ts M14: TaskDialog (create/edit) + story auto-promotion (#21) 2026-04-30 16:55:20 +02:00
user-agent.ts feat(ST-1135): UA-redirect bij login — phone naar /m/* (T-322/T-323/T-324) 2026-05-04 10:09:09 +02:00
utils.ts feat: ST-001–ST-005 foundation — scaffolding, Prisma, schema, seed, env 2026-04-22 21:04:48 +02:00