feat(F-066): completed feature

This commit is contained in:
chattie
2026-08-19 17:22:39 +02:00
parent e60e22ca30
commit 9f1858f6d7
10 changed files with 256 additions and 30 deletions

View File

@@ -3284,6 +3284,38 @@
"close": true
},
"completed_at": "2026-08-19T15:12:25Z"
},
{
"id": "F-066",
"type": "fix",
"title": "Product image invisible, PATCH 500 on attributes and missing fields in serializeProduct",
"problem": "Product detail image rendered empty even though the URL returns 200; PATCH /api/products/:id returns 500 when the payload includes attributes; and serializeProduct omits channels featured and attributes so admin edits never round-trip through the API",
"goal": "The product image is visible on the detail page; PATCH with attributes stores and returns the attributes; serializeProduct returns channels featured and attributes; admin and public clients see updates",
"scope_in": [
"Core flow"
],
"scope_out": [
"Fix the product detail image container so it has a real height (next/image fill requires a non-zero-height parent). Wrap the container in a flex centering div and bring back aspect-5/7 max-h-500 so it has height and stays centred. Fix pg-product-repository.update to JSON.stringify the attributes array before binding it to the JSONB column and cast as jsonb. Add channels featured attributes to serializeProduct."
],
"priority": "low",
"risk": "low",
"description": "Problem: Product detail image rendered empty even though the URL returns 200; PATCH /api/products/:id returns 500 when the payload includes attributes; and serializeProduct omits channels featured and attributes so admin edits never round-trip through the API. Goal: The product image is visible on the detail page; PATCH with attributes stores and returns the attributes; serializeProduct returns channels featured and attributes; admin and public clients see updates. Scope IN: Core flow. Scope OUT: Fix the product detail image container so it has a real height (next/image fill requires a non-zero-height parent). Wrap the container in a flex centering div and bring back aspect-5/7 max-h-500 so it has height and stays centred. Fix pg-product-repository.update to JSON.stringify the attributes array before binding it to the JSONB column and cast as jsonb. Add channels featured attributes to serializeProduct.. Type: fix. Priority: low. Risk: low.",
"acceptance": [
"high",
"GET /products/[slug] shows the product image (no zero-height container)",
"PATCH /api/products/:id with attributes succeeds and round-trips",
"GET /api/products/:id returns channels featured and attributes",
"verify.sh is green"
],
"status": "done",
"created_at": "2026-08-19",
"gates": {
"reviewer": true,
"security": true,
"qa": true,
"close": true
},
"completed_at": "2026-08-19T15:22:39Z"
}
]
}