- 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> |
||
|---|---|---|
| .. | ||
| admin | ||
| dashboard | ||
| ideas | ||
| insights | ||
| jobs | ||
| manual | ||
| products | ||
| settings | ||
| solo | ||
| error.tsx | ||
| layout.tsx | ||