carlos / todomvc-bakeoff Public
swift: STATUS.md for the review round, live at 354c88a
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+28
−4
apps/swift/STATUS.md+28 −4
diff --git a/apps/swift/STATUS.md b/apps/swift/STATUS.md| index 7f10f32..a382109 100644 |
| --- a/apps/swift/STATUS.md |
| +++ b/apps/swift/STATUS.md |
| @@ -1,4 +1,4 @@ |
| -LIVE https://todo-swift.bfj.oncarlos.com 0f5870a |
| +LIVE https://todo-swift.bfj.oncarlos.com 354c88a |
| ## Checked |
| @@ -7,9 +7,9 @@ LIVE https://todo-swift.bfj.oncarlos.com 0f5870a |
| 3 skipped (the suite's own skips: blur and Escape need JavaScript, and |
| the screenshot is compared with JavaScript on only). |
| - `scripts/boot-check.sh dist/app-linux-arm64`: `/healthz` and |
| - `/api/version` 200 (`0f5870a`), clean exit on SIGTERM. |
| -- `make deploy`: shipped and promoted `0f5870a` to `edge`, and the build |
| - probe reported it live. |
| + `/api/version` 200 (`354c88a`), clean exit on SIGTERM. |
| +- `make deploy`: shipped and promoted `354c88a` to `edge`, and |
| + `/api/version` on the live host reports it. |
| - Shared suite against `https://todo-swift.bfj.oncarlos.com`: 67 passed, |
| 3 skipped. |
| @@ -22,3 +22,27 @@ LIVE https://todo-swift.bfj.oncarlos.com 0f5870a |
| - A cold `make build-arm64` takes a few minutes here; an incremental one |
| after `make bump` recompiles one file. |
| - Nothing in the contract needed a deviation. |
| + |
| +## Review round |
| + |
| +Both findings are fixed in `static/app.js` (commit `354c88a`): |
| + |
| +1. **Typing during an add.** The form is read and the new-todo input |
| + cleared when the form is submitted, not when the answer arrives. A |
| + second Enter while the first add is still pending is queued, not |
| + dropped. Each edit is saved once, guarded per item, instead of |
| + blocking the whole form. |
| +2. **Stale snapshots.** Actions go through one promise queue, so they |
| + reach the server and come back in the order they were made, and the |
| + last swap is always the newest state. |
| + |
| +Checked by hand in Chromium with Playwright, with the first response held |
| +back 800 ms. Adding "first", then "second", then typing "third" left both |
| +items saved and "third" still in the input. Toggling two items quickly |
| +left both completed, with "0 items left". The shared suite passes |
| +locally (67 passed, 3 skipped) and against the live host (67 passed, |
| +3 skipped). |
| + |
| +The first `make deploy` was refused with "too many uploads" (a |
| +platform-side rate limit). My retry loop then shipped the same |
| +`354c88a` build several more times, which was harmless. |