hermes-agent/ui-tui/src
Ben e71f9ad0bb fix(tui): close busy-flag race that stuck queue-mode back-to-back sends
Under display.busy_input_mode: queue, sending two messages back-to-back
hung the session on 'Analyzing…' until a manual Ctrl+C.

The submit path only marked the session busy inside the .then of an
async input.detect_drop RPC. dispatchSubmission routes queue-vs-send on
getUiState().busy, so a second Enter inside that RPC window read
busy===false and raced a second prompt.submit down the send path
instead of enqueuing locally. The gateway accepts the mid-turn submit
as a success ({status:'queued'}, not an error), and the client's only
re-queue recovery is gated on catching a 'session busy' error — which
never fires — so the message became invisible to the client-side drain
effect and the UI stayed busy forever.

Extract the ready-prompt submit into a pure submissionCore module and
mark the session busy synchronously at the choke point, before the
detect_drop round-trip, closing the gap for every caller (mainline
submit, queue-edit picks, drain, interpolation). Verified the real
gateway already queues+drains both turns correctly, so the fix is
purely client-side. Adds submissionCore.test.ts whose regression
assertions fail without the synchronous busy and pass with it.
2026-07-01 00:24:40 -07:00
..
__tests__ fix(tui): close busy-flag race that stuck queue-mode back-to-back sends 2026-07-01 00:24:40 -07:00
app fix(tui): close busy-flag race that stuck queue-mode back-to-back sends 2026-07-01 00:24:40 -07:00
components Merge pull request #55865 from NousResearch/bb/pet-pane-layout 2026-06-30 15:46:41 -05:00
config fix(tui): coalesce drag-resize reflow + harden resize-burst heal coverage 2026-06-30 16:47:39 -07:00
content feat: add TUI session orchestrator 2026-05-26 20:51:59 -07:00
domain style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
hooks style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
lib test(tui): extract resize coalescer into a unit-tested helper 2026-06-30 16:47:39 -07:00
protocol refactor(tui): /clean pass across ui-tui — 49 files, −217 LOC 2026-04-16 22:32:53 -05:00
types feat(pets): TUI pet pane, picker + gateway RPCs 2026-06-20 14:18:36 -05:00
app.tsx fix(tui): apply ui-tui fix pass and restore type-check 2026-04-25 14:08:54 -05:00
banner.ts feat(tui): responsive banner tiers 2026-05-23 17:37:51 -05:00
entry.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
gatewayClient.ts fix(tui): defer buffered gateway events to stop dashboard chat #301 (#36658) 2026-06-28 14:18:47 +05:30
gatewayTypes.ts feat(moa): render reference-model blocks in TUI and desktop, not just CLI (#53855) 2026-06-27 18:46:20 -07:00
theme.ts style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
types.ts feat(tui): track background subagents in the status bar (#51485) 2026-06-23 11:32:00 -07:00