Scrum4Me/app/(app)
Madhura68 9c769523cf feat(PBI-74): race-safe loaders + restore-hints + URL-prioriteit (Story 4)
- T-856: activeRequestId-guard zat al in store.ts uit Story 1; bevestigd door
  de race-safety test (in-flight ensurePbiLoaded mag niet overschrijven).
- T-857: restore-hint flow toegevoegd in setActiveProduct/setActivePbi/
  setActiveStory. Async chain: await ensureXxxLoaded → guard check →
  readHints → valideer hint via entities.byId → setActiveYyy(hint).
  Geen setTimeout-trick — chain is alleen await-based.
- T-858: writeProductHint/writePbiHint/writeStoryHint/writeTaskHint
  aangeroepen direct na set(...) zodat de hint-persistentie altijd
  consistent is met de in-store selectie.
- T-859: nieuwe components/backlog/url-task-sync.tsx — leest
  ?editTask=<id> uit useSearchParams, schrijft de hint en roept
  setActiveTask aan zodat de URL wint boven een eerder gepersisteerde
  task-hint. Gemount in beide product-pages (desktop + mobile) binnen
  BacklogHydrationWrapper.
- T-860: 6 nieuwe vitest-cases — 4 voor hint-persist per setter, 2 voor de
  restore-flow chain (hint die niet in entities zit wordt genegeerd; hint
  die wel in entities zit wordt toegepast). Bestaande race-safety test
  blijft groen.

Verify: lint+typecheck clean, 642/642 tests groen.

Refs: PBI-74, ST-1321, T-856..T-860

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 01:17:22 +02:00
..
admin feat(PBI-67): model + mode-selectie per ClaudeJob-kind (#169) 2026-05-08 11:20:10 +02:00
dashboard ProductDialog: create + edit met alle velden (#68) 2026-05-03 17:56:33 +02:00
ideas feat(ideas): secondary_products meeladen in IdeaDto en alle queries 2026-05-06 02:20:34 +02:00
insights feat(PBI-63): meerdere sprints per product + EXCLUDED + sprint-switcher (#161) 2026-05-08 00:15:04 +02:00
jobs Sprint: rerun jobs (#176) 2026-05-09 17:19:47 +02:00
manual PBI-58: Developer manual + in-app /manual page (#148) 2026-05-07 18:00:10 +02:00
products feat(PBI-74): race-safe loaders + restore-hints + URL-prioriteit (Story 4) 2026-05-10 01:17:22 +02:00
settings feat(ST-qfpqpxzy): DB schema + settings-UI voor min_quota_pct worker-drempel (#118) 2026-05-06 03:45:59 +02:00
solo feat(M9): active product backlog — persistent active PB, NavBar splits, sprint card styling (#10) 2026-04-27 20:25:13 +02:00
error.tsx feat: ST-601-ST-612 M6 polish, beveiliging en launch-ready 2026-04-24 12:36:23 +02:00
layout.tsx refactor: sprint-switcher van NavBar naar product-header (#162) 2026-05-08 01:05:39 +02:00