[correctness] apps/swift/static/app.js:10 and :20 — Adding a todo can erase the next title. Submit “first”, then type “second” before the response arrives: the first response resets the input, deleting “second”. Pressing Enter meanwhile also silently discards that submission because dataset.sending is set.
[correctness] apps/swift/static/app.js:19 — Concurrent actions replace the list in response-arrival order, allowing an older snapshot to overwrite newer state. Toggle two different items quickly: if the earlier response arrives last, an item can appear unchecked and the counter and toggle-all state become stale despite both changes being saved. Serialize actions or prevent stale responses from replacing newer state.