hermes-agent/apps/desktop/src/components/assistant-ui
Brooklyn Nicholson 72dd01c553 fix(desktop): no per-paragraph action bars on sealed interim messages
Since #65919 the live view seals each chunk of mid-turn assistant
commentary (message.interim) as its own finalized bubble. Every bubble
with visible text renders the hover action footer, so a tool-heavy turn
grew a copy/refresh bar under almost every paragraph — and the live
render didn't match rehydration, which merges the turn into one bubble.

Mark sealed interim bubbles with ChatMessage.interim, carry the flag
into the runtime message metadata (custom.interim), and skip the
AssistantFooter for them. The turn's final reply keeps the footer; a
previewed final that settles onto an interim bubble clears the mark so
the settled reply regains its actions. interim joins COMPARED_FIELDS /
chatMessagesEquivalent so flipping it repaints.

Also fix an id-collision flake this surfaced: stream/interim bubble ids
were Date.now()-only, so an interim seal and the next segment's first
delta in the same millisecond reused the id and the new segment appended
into the sealed bubble. Ids now include a monotonic sequence.
2026-07-22 11:31:03 -05:00
..
embeds refactor(desktop): share theme-repaint observer; memory-graph depth polish 2026-06-30 02:06:29 -05:00
thread fix(desktop): no per-paragraph action bars on sealed interim messages 2026-07-22 11:31:03 -05:00
tool fmt(js): npm run fix on merge (#67995) 2026-07-20 10:47:15 +00:00
ansi-text.tsx perf(desktop): stop tool rows re-rendering on session/cwd change + memo leaves 2026-07-19 22:58:22 -05:00
clarify-tool.test.tsx fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
clarify-tool.tsx feat(desktop): shared UI — per-session prompt overlays, gateway overlays, tab primitives 2026-07-13 17:57:54 -04:00
directive-text.test.ts Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
directive-text.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
markdown-text.test.ts fix(desktop): preserve numeric and display LaTeX (#66173) 2026-07-17 19:02:18 -04:00
markdown-text.tsx perf(desktop): incremental block lexing for streaming markdown — 14x less splitter CPU on long replies 2026-07-18 17:45:55 -04:00
message-render-boundary.test.tsx fix(desktop): match renamed useClientLookup out-of-bounds throw in MessageRenderBoundary 2026-07-15 01:42:09 -04:00
message-render-boundary.tsx fix(desktop): match renamed useClientLookup out-of-bounds throw in MessageRenderBoundary 2026-07-15 01:42:09 -04:00
tooltip-icon-button.tsx feat(desktop): per-session profile switching + cross-profile sessions 2026-06-04 16:35:34 -05:00