carlos / todomvc-bakeoff Public
docs(zig): STATUS — review fixes live at 576c3b8
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+30
−4
apps/zig/STATUS.md+30 −4
diff --git a/apps/zig/STATUS.md b/apps/zig/STATUS.md| index 93f5538..53670a2 100644 |
| --- a/apps/zig/STATUS.md |
| +++ b/apps/zig/STATUS.md |
| @@ -1,9 +1,9 @@ |
| -LIVE https://todo-zig.bfj.oncarlos.com 11e07b8 |
| +LIVE https://todo-zig.bfj.oncarlos.com 576c3b8 |
| ## What's live |
| - `todo-zig` on account `bfj`, one instance on channel `edge`, build probe |
| - `/api/version`. The deployed version is `11e07b8`; `/api/version` and |
| + `/api/version`. The deployed version is `576c3b8`; `/api/version` and |
| `X-Carlos-Version` both report it. |
| - The shared behaviour suite passed locally (67 passed, 3 skipped) and |
| again against [https://todo-zig.bfj.oncarlos.com](https://todo-zig.bfj.oncarlos.com) |
| @@ -11,8 +11,8 @@ LIVE https://todo-zig.bfj.oncarlos.com 11e07b8 |
| with JavaScript off, and the screenshot comparison with JavaScript off. |
| - `scripts/boot-check.sh dist/app-linux-arm64` passed: `/healthz` and |
| `/api/version` answer 200 on a unix socket under qemu, and SIGTERM exits 0. |
| -- `make test`: 10 Zig unit tests pass (view, routing, form and cookie |
| - parsing, origin check, store scoping). |
| +- `make test`: 11 Zig unit tests pass (view, routing, form and cookie |
| + parsing, title trimming, origin check, store scoping). |
| ## Notes |
| @@ -25,3 +25,29 @@ LIVE https://todo-zig.bfj.oncarlos.com 11e07b8 |
| `clean-deps` keeps the downloaded SQLite sources (`.cache/zig/p`, |
| `.cache/pkg`) and drops everything compiled. |
| - Nothing in the contract seemed wrong. |
| + |
| +## Review fixes (576c3b8) |
| + |
| +Both findings are fixed. After the fixes, the shared suite passed |
| +locally and against the live site (67 passed, 3 skipped each time), and |
| +`boot-check.sh` passed on the new arm64 binary. |
| + |
| +1. **An open editor was lost when an earlier response arrived.** |
| + `static/app.js` now leaves an item being edited in place when it applies |
| + a response. It never detaches that item, so the editor keeps its focus |
| + and unsaved text. It replaces the items around it and refreshes the |
| + item's checkbox, label and classes. If the response no longer contains |
| + that item (deleted, or filtered out), the list is replaced as before. |
| + I checked this in a browser: I delayed a toggle by 1 s and opened |
| + another item's editor while it was pending. When the answer arrived, |
| + the editor kept its text and focus and the counter updated. Enter then |
| + saved the edited text. |
| +2. **Titles were trimmed of ASCII whitespace only.** Adding and editing |
| + now trim Unicode White_Space characters (U+00A0, U+2003, U+3000 and |
| + the rest) and U+FEFF from both ends (`trimTitle` in `src/app.zig`, with |
| + a unit test). A whitespace-only add creates nothing, and editing an |
| + item to whitespace only deletes it. Both were checked with curl. |
| + |
| +## Review findings not fixed |
| + |
| +None. |