Gate-found (Opus SHIP-WITH-FIXES; Codex SAFE — split resolved by reading the contract: no dropped-turn, but a real transient start-race flicker). #4424 removed the _sendInProgress guards entirely; that re-opened the #2689 start-race SYMPTOM for the one session mid-send (a /api/sessions poll landing during the /api/chat/start round-trip would blank the just-sent bubble + queue a spurious force-reload). Re-add the guard SCOPED to sid===_sendInProgressSid only, in both _reconcileActiveSessionIdleStateFromList and _purgeStaleInflightEntries — a long-hung session has _sendInProgress===false so it still gets unstuck (#4354), only the in-flight start window is protected. Also fixes Opus's test-masking finding: test_inflight_send_start_race now strips JS comments before asserting + requires a real , so a comment can't green-light the #2689 guard, and adds coverage for the reconcile path. Co-authored-by: bergeouss <bergeouss@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| vendor | ||
| apple-touch-icon.png | ||
| assistant_turn_anchors.js | ||
| boot.js | ||
| commands.js | ||
| favicon-32.png | ||
| favicon-192.png | ||
| favicon-512.png | ||
| favicon-512.svg | ||
| favicon.ico | ||
| favicon.svg | ||
| i18n.js | ||
| icons.js | ||
| index.html | ||
| login.js | ||
| manifest.json | ||
| messages.js | ||
| onboarding.js | ||
| outline.js | ||
| panels.js | ||
| pwa-startup.js | ||
| sessions.js | ||
| style.css | ||
| sw.js | ||
| terminal.js | ||
| ui.js | ||
| workspace.js | ||