feat(F-063): completed feature

This commit is contained in:
chattie
2026-08-19 17:07:45 +02:00
parent 52e30c39d7
commit c34241134f
15 changed files with 227 additions and 22 deletions

View File

@@ -0,0 +1,14 @@
{
"feature_id": "F-063",
"agent": "reviewer",
"verdict": "APPROVED",
"summary": "Minimal, surgical fix. The load effect was the only place where getSnap was used as a dep while also calling setState — exactly the shape that causes an infinite render loop. Moving getSnap into a ref keeps the same snapshot semantics but decouples the load effect from the form state. cancelled guard handles the unmount-during-fetch race. No API change, no payload change.",
"evidence": [
"git diff project/apps/admin/src/features/products/components/ProductEditor.tsx — only the load effect deps changed; data-mapping code is untouched",
"Load effect now has [productId] only (with eslint-disable for exhaustive-deps and a cancelled flag)",
"getSnapRef introduced to capture the latest snapshot getter without depending on its identity",
"npx tsc --noEmit (admin) — exit 0",
"./scripts/verify.sh — exit 0"
],
"timestamp": "2026-08-19T15:10:00Z"
}