hermes-agent/apps/desktop/src/components/chat
ethernet 470c7e2a60
fix(desktop): prevent timers from shifting as they count (#68131)
LiveDuration returned a bare string with proportional digits, so the
statusbar reflowed every second as the timer ticked. Extract a shared
StableText component that renders each character in its own 1ch-wide
cell, preventing any digit from shifting the layout — works with the
proportional sans font, no need for font-mono.

Both LiveDuration (statusbar session/running timers) and
ActivityTimerText (tool activity timers) now use StableText, dropping
the font-mono + tabular-nums workaround from the latter.

Also renames statusbar.ts → statusbar.tsx since LiveDuration now
returns JSX.
2026-07-20 16:39:20 +00:00
..
activity-timer-text.tsx fix(desktop): prevent timers from shifting as they count (#68131) 2026-07-20 16:39:20 +00:00
activity-timer.test.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
activity-timer.ts Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
code-card.tsx perf(desktop): keep oversized messages from freezing the chat 2026-06-17 08:25:52 -05:00
code-editor-theme.ts style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
code-editor.tsx fix(desktop,gateway,mcp): post-merge — CI contract, review corrections, hub search 2026-07-03 15:22:43 -05:00
compact-markdown.tsx perf(desktop): stop tool rows re-rendering on session/cwd change + memo leaves 2026-07-19 22:58:22 -05:00
composer-dock.ts fix(desktop): composer popout polish — peel-off placement, panels, chip editing 2026-06-20 02:10:38 -05:00
diff-lines.tsx refactor(desktop): merge the two windowed diff returns into one 2026-07-19 21:20:36 -05:00
disclosure-row.tsx fix(desktop): persist tool-row dismissal across virtualization; keep caret hittable 2026-06-12 17:34:48 -05:00
expandable-block.tsx perf(desktop): kill the layout-thrash cascade on session switch (#66033) 2026-07-16 22:46:08 -04:00
fixed-row-window.ts feat(desktop): add shared project UI primitives 2026-06-25 16:40:27 -05:00
generated-image-result.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
image-generation-placeholder.tsx refactor(desktop): share theme-repaint observer; memory-graph depth polish 2026-06-30 02:06:29 -05:00
intro-copy.jsonl Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
intro.tsx refactor(desktop): adopt shared utils + app-wide cleanups 2026-07-03 13:48:44 -05:00
json-document-editor.tsx fix(desktop,gateway,mcp): post-merge — CI contract, review corrections, hub search 2026-07-03 15:22:43 -05:00
log-tail.tsx feat(desktop): Capabilities foundation — shared utils, master-detail, editors, primitives 2026-07-03 05:08:13 -05:00
preview-attachment.tsx fix(desktop): stop auto-opening tool previews 2026-06-22 19:21:20 -05:00
shiki-highlighter.test.ts perf(desktop): keep oversized messages from freezing the chat 2026-06-17 08:25:52 -05:00
shiki-highlighter.tsx style(desktop): soften dark-mode syntax highlighting 2026-06-22 05:16:18 -05:00
skeletons.tsx feat(desktop): add shared project UI primitives 2026-06-25 16:40:27 -05:00
stable-text.tsx fix(desktop): prevent timers from shifting as they count (#68131) 2026-07-20 16:39:20 +00:00
status-row.tsx refactor(desktop): adopt shared utils + app-wide cleanups 2026-07-03 13:48:44 -05:00
status-section.tsx feat(desktop): composer status stack, live subagent windows, editable prompts (#44630) 2026-06-12 08:30:06 -05:00
terminal-output.tsx perf(desktop): kill the layout-thrash cascade on session switch (#66033) 2026-07-16 22:46:08 -04:00
vibe-hearts.tsx fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
zoomable-image.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00