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>