hermes-agent/ui-tui/src
talmax1124 d2c7760ceb fix(tui): coalesce drag-resize reflow + harden resize-burst heal coverage
Two resize fixes for a steadier TUI under aggressive terminal resizing.

1. Drag-resize flicker (useMainApp): `cols` was synced to
   `stdout.columns` synchronously on every 'resize' event. Each distinct
   width remounts the visible transcript rows (they're keyed on cols so
   yoga re-measures off live geometry), so a drag — which fires a burst of
   resize events — turned into a per-tick remount storm that flickers and
   stutters. Throttle the sync with a leading+trailing edge: the first
   event reflows immediately (stays responsive), the rest collapse to at
   most one reflow per RESIZE_COALESCE_MS (~30fps), and the trailing edge
   always applies the final width so the settled layout is exact.

2. Resize-burst heal coverage (#18449): the existing ink-resize test only
   exercised a single same-dimension event. Add two regressions that drive
   a rapid resize *burst* (wobbling dims that settle back to the start, and
   an isolated same-dimension event with no tree change) and assert the
   renderer converges to a clean erased repaint — screen erased, then
   content repainted after — rather than a partial diff over drifted cells.

   This also relaxes the pre-existing single-event assertion, which
   hard-coded the exact bytes `ESC[2J ESC[H`; the heal legitimately
   interposes `ESC[3J` (erase scrollback) on some recovery paths, so all
   three tests now assert the semantic invariant instead of a byte run.
2026-06-30 16:47:39 -07:00
..
__tests__ Merge pull request #55865 from NousResearch/bb/pet-pane-layout 2026-06-30 15:46:41 -05:00
app fix(tui): coalesce drag-resize reflow + harden resize-burst heal coverage 2026-06-30 16:47:39 -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