docs: record review-fix pass in TODO.md

Marks the pre-merge code review as complete in TODO.md and lists each
finding alongside the commit that closed it. Branch is in shape to merge.
This commit is contained in:
2026-05-16 11:06:51 +03:00
parent 0e3ae78de7
commit 17684afba1
+22 -1
View File
@@ -793,4 +793,25 @@ After phase 1 the codebase will have 3 fresh examples of "ping the LAN, listen f
- [x] **Pre-merge verification pass.** 1358 pytest tests pass; ruff - [x] **Pre-merge verification pass.** 1358 pytest tests pass; ruff
clean across all device modules and tests; black clean against clean across all device modules and tests; black clean against
the pre-commit-pinned 24.10.0; `npx tsc --noEmit` clean; bundle the pre-commit-pinned 24.10.0; `npx tsc --noEmit` clean; bundle
compiles. No issues surfaced — branch is in shape to merge. compiles.
- [x] **Pre-merge code review (subagent)** — surfaced 2 CRITICAL +
4 HIGH + 3 MEDIUM + 3 LOW findings.
- [x] **All review findings fixed** (commits `7736bc6` + `0e3ae78`):
- CRITICAL #1: missing `url_scheme.py` / `net_classify.py`
committed (4 files / 557 lines).
- CRITICAL #2: `update_device` no longer re-encrypts secrets in
memory via the `to_dict()` round-trip (uses `vars()` directly).
- HIGH #3: `nanoleaf_token` / `hue_username` / `hue_client_key`
stripped from `DeviceResponse`; replaced with paired-flag
booleans. Frontend updated.
- HIGH #4: `validate_lan_host()` rejects literal public IPs at
each driver's `validate_device` + `pair_device`.
- HIGH #5: `_dec()` failures clear the field and log, not crash
the row.
- HIGH #6: update route now rstrip's URL for all device types.
- MEDIUM #7: Govee discovery serialized via `asyncio.Lock`.
- MEDIUM #8: Nanoleaf mDNS browser cleanup moved to `finally`.
- MEDIUM #9: pair endpoint sanitizes URL userinfo in logs.
- LOW: Nanoleaf `.port` property added; pair-then-create E2E test
added.
- Tests: 1379 pass (+21 regression tests).