Files
gitmost/apps
claude_code 82699f7a20 fix(ai-chat): guard "Send now" against a stale-status race (#198 review)
Addresses the open findings from the #198 ("Interrupt agent / send now")
code review (posted on PR #200's thread).

- sendNow: branch on the live status read from a new `statusRef` (updated
  every render) instead of the closure-captured `isStreaming`. If the turn
  finished between render and click, stale-true `isStreaming` made sendNow
  arm flushOnAbortRef/interruptNextSendRef and call a no-op stop(), leaving
  the one-shot flags armed to leak into a later turn. Reading the live
  status takes the not-streaming branch (send immediately) instead.
  Dependency array trimmed from [isStreaming, setQueue, stop] to
  [setQueue, stop].
- queued-state comment: drop the incorrect "(onFinish does not fire then)"
  claim — onFinish fires on every terminal outcome, only a clean finish
  flushes the queue, and a deliberate "Send now" flushes the promoted head
  via the abort branch of onFinish.

The third review finding (missing i18n keys "Send now" / "Interrupt and
send now") was already resolved in f789be9c.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 04:44:58 +03:00
..