Skip to content

Commit 6227843

Browse files
Add Round 4 frontend issues to TODOS.SHIP.md
12 issues from deep frontend review covering HTML injection, map init for visitors, v-model type coercion, unused controls, and redundant rendering. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 316042f commit 6227843

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

TODOS.SHIP.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,31 @@
8787
- [ ] 45. Admin auth flow test — login form → token → protected endpoints accessible, bad creds rejected
8888
- [ ] 46. API integration tests — tower CRUD, tower-paths list, matrix config round-trip
8989
- [ ] 47. Add `test:e2e` script to `package.json` and `test-e2e` CI job gated behind unit tests
90+
91+
---
92+
93+
## Round 4 — Frontend Deep Review (2026-03-15)
94+
95+
### Critical
96+
97+
- [ ] 48. Map init coupled to `Transmitter.vue` — visitors never get a map since it's inside `v-if="store.isAdmin"` (`Transmitter.vue:368`)
98+
- [ ] 49. `v-model` on numeric inputs produces strings — no `.number` modifier, causes NaN in calculations (all form components)
99+
100+
### High
101+
102+
- [ ] 50. HTML injection in tower path popups — backend values interpolated into HTML string (`store.ts:220`)
103+
- [ ] 51. HTML injection in deadzone suggestion icon — `priority_rank` interpolated into `L.divIcon({ html })` (`store.ts:281-294`)
104+
- [ ] 52. `overlay_transparency` slider is non-functional — value collected but never applied to rendering (`store.ts:89,491,531`)
105+
- [ ] 53. Tower color picker ignored — `runSimulation` always uses palette color, discards `tx_color` (`store.ts:674-680`)
106+
107+
### Medium
108+
109+
- [ ] 54. `simulationState` is untyped string — no union type, typos compile silently (`store.ts:37`)
110+
- [ ] 55. `await randanimalSync()``await` on sync function is misleading (`store.ts:682`)
111+
- [ ] 56. `updateOverlapLayer``redrawSites` redundant redraws — mutual calls cause double work (`store.ts:499-538`)
112+
- [ ] 57. `_prefillCoords` reactive store state used as one-shot event — fragile signaling pattern (`store.ts:53`)
113+
114+
### Low
115+
116+
- [ ] 58. No error feedback to visitors on `loadTowers` failure — silent `console.warn` only (`store.ts:96-161`)
117+
- [ ] 59. Reactive destructuring of store nested objects is fragile (`Transmitter.vue:249`, `Display.vue:116`)

0 commit comments

Comments
 (0)