fix(review): black screen on Capture→Review — speciesId/gradeId refs
The merge auto-kept the branch's canCreateTitle reactive (speciesId) which is undeclared in the merged file (main's canonical var is speciesSel) → ReferenceError on Review mount → black screen. Also dropped the branch's duplicate gradeId (main uses gradeSel) and repointed hydrate/patch to gradeSel. Live UAT verified: Review now mounts and renders 'Review to Ready' with photo strip + Create buttons.
This commit is contained in:
@@ -77,3 +77,23 @@ Do not put a host name in the product spec.
|
||||
- Not exercised live: the full browser Create-button click (verified via in-repo Playwright 6/6
|
||||
m3-create + review-photo-strip; the endpoint + PUT path are proven live above). Woo publish path
|
||||
not exercised this round.
|
||||
|
||||
### 2026-09-21 12:10 PDT — redeploy: `main` after merge `8ee3da9` (reconciled PR #97 + branch)
|
||||
|
||||
- Source: `main` @ `8ee3da9` (merge of `work/merge-89-90` into main, which itself reconciled
|
||||
main's PR #97 client-side `thicknessBand.ts` + `syncSelects`/`box-sizing` against the branch's
|
||||
server-side `thickness_band.py` + Create-string #89). `matches HEAD`: **yes**.
|
||||
- Resolution outcome in the deployed bundle: band is **server-side** — `Review.svelte` no longer
|
||||
imports `thicknessBand` and the read-only band display is gone; PR #97's `syncSelects()` (3× in
|
||||
source) + `box-sizing` CSS preserved; `metadata_locked` still dropped; Create-string + photo
|
||||
strip + wood primary live.
|
||||
- Rebuilt both images from `main`; recreated the stack (`down --remove-orphans` + `up -d`, no `-v`).
|
||||
LAN binds 10881/10882 intact.
|
||||
- Bundle: `assets/index-BScrgd8o.js` (new; differs from pre-merge `YPAqx609`; contains
|
||||
`create-title`, **zero** `thicknessBand` references). API `/api/health` `woo_reachable:true`.
|
||||
- Sample data preserved: **yes** — 35 slabs (one added upstream since last deploy).
|
||||
- Live verification (LAN URL, real DB): `POST /review` on slab `ec4088da…` →
|
||||
`title:'Curl Black Walnut Slab'`, `ready:True`.
|
||||
- Gates at merge time: backend 117/117, unit 88/88, tsc clean, e2e 6/6 (m3-create + photo-strip).
|
||||
- Branches `work/merge-89-90` and `issue-89-metadata-lock` deleted (local + remote); remote has
|
||||
only `main`.
|
||||
|
||||
@@ -99,7 +99,6 @@
|
||||
let gradeSel: string = '';
|
||||
let woodCatIds: number[] = [];
|
||||
let figureIds: number[] = [];
|
||||
let gradeId: number | '' = '';
|
||||
let moistureId: number | '' = '';
|
||||
let figTagIds: number[] = [];
|
||||
let featTagIds: number[] = [];
|
||||
@@ -128,7 +127,7 @@
|
||||
let createBusy = false;
|
||||
let createError = '';
|
||||
$: canCreateTitle =
|
||||
speciesId !== '' && woodCatIds.length > 0;
|
||||
speciesSel !== '' && woodCatIds.length > 0;
|
||||
$: canCreateDesc =
|
||||
canGenerateContent && title.trim() !== '' && shortDescription.trim() !== '';
|
||||
// Monotonic token: each commit captures the current value and ignores its
|
||||
@@ -320,7 +319,7 @@
|
||||
woodCatIds = [...(s.wood_category_ids ?? [])];
|
||||
edgeSel = s.edge_type_term_id != null ? String(s.edge_type_term_id) : '';
|
||||
figureIds = [...(s.figure_term_ids ?? [])];
|
||||
gradeId = s.grade_term_id ?? '';
|
||||
gradeSel = s.grade_term_id != null ? String(s.grade_term_id) : '';
|
||||
moistureId = s.moisture_term_id ?? '';
|
||||
figTagIds = [...(s.fig_tag_ids ?? [])];
|
||||
featTagIds = [...(s.feat_tag_ids ?? [])];
|
||||
@@ -393,7 +392,7 @@
|
||||
wood_category_ids: woodCatIds,
|
||||
edge_type_term_id: edgeSel === '' ? null : Number(edgeSel),
|
||||
figure_term_ids: figureIds,
|
||||
grade_term_id: gradeId === '' ? null : Number(gradeId),
|
||||
grade_term_id: gradeSel === '' ? null : Number(gradeSel),
|
||||
moisture_term_id: moistureId === '' ? null : Number(moistureId),
|
||||
fig_tag_ids: figTagIds,
|
||||
feat_tag_ids: featTagIds,
|
||||
|
||||
Reference in New Issue
Block a user