feat(gate-b): Gate B mask + BDFT + length axis (#21–#23) #31
@@ -0,0 +1,45 @@
|
||||
# Gate B Fix — Select Photos Click Path
|
||||
|
||||
## Problem
|
||||
"Select Photos" button dead-clicked on deployed host (https://192.168.1.202/ and https://100.64.0.9/).
|
||||
|
||||
## Root Causes
|
||||
1. **Missing label/input association**: `<label>` had no `for=` attribute, `<input>` had no `id=`. Clicking the label did nothing.
|
||||
2. **Svelte 5 event directive mismatch**: All event handlers used Svelte 4 syntax (`on:change`, `on:click`, `on:input`) which does not work in Svelte 5 runes mode. Must use native DOM properties (`onchange`, `onclick`, `oninput`).
|
||||
|
||||
## Fix Applied
|
||||
- Added `id="photo-file-input"` to file input, `for="photo-file-input"` to label
|
||||
- Converted all event directives to Svelte 5 syntax across entire `+page.svelte`:
|
||||
- `on:change` → `onchange`
|
||||
- `on:click` → `onclick`
|
||||
- `on:input` → `oninput`
|
||||
- Added Playwright BVT suite confirming the click path works
|
||||
|
||||
## Test Results
|
||||
|
||||
### Local BVT (compiled build)
|
||||
- 4/4 passed
|
||||
- Tests verify: label association, file selection → mask step advance, button enabled, full flow with knobs
|
||||
|
||||
### Remote BVT (deployed host https://100.64.0.9)
|
||||
- 4/4 passed
|
||||
- Same test suite runs against live deployed instance
|
||||
- Confirms Select Photos → file picker → photo loads → mask step
|
||||
|
||||
### Evidence
|
||||
- Playwright HTML report: `test-results/gate-b-2026-09-07-fix/playwright-report/`
|
||||
- Test suite: `frontend/test/bvt/`
|
||||
- Test image: `frontend/test/bvt/test-slab.png` (100x60 PNG, green border + white interior)
|
||||
|
||||
## Deployment
|
||||
- Branch: `gate-b`
|
||||
- Commit: `17b6e6c`
|
||||
- Pushed to: `origin/gate-b`
|
||||
- Redeployed on: ubuDual5060 (Tailscale 100.64.0.9, LAN 192.168.1.202)
|
||||
- Frontend container `deploy-frontend-1` rebuilt and started
|
||||
|
||||
## Status
|
||||
- Select Photos button now opens file picker on deployed host
|
||||
- File selection processes images and advances to mask step
|
||||
- All event handlers (buttons, selects, ranges) use Svelte 5 syntax
|
||||
- **Gate B not green** — remaining product-state issues (TV-3/6/7/10) are separate
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user