hermes-bsd/apps/desktop/src/components
Austin Pickett ee41aa0c1a
feat(desktop): add dismiss control to chat error banners (#47985)
A failed turn leaves a red error banner inline in the transcript. These
errors are renderer-local state (never persisted) and stay pinned to the
message until the session is reloaded, so a stale, no-longer-relevant
error (e.g. a transient provider/inference error) lingers with no way to
clear it.

Add an 'x' dismiss button inside the existing MessagePrimitive.Error
block. Clicking it clears the error from BOTH the live $messages view
and the per-runtime session cache — the view first, because
preserveLocalAssistantErrors re-grafts any still-errored message it finds
in the view onto the next session.info flush, so clearing only the cache
would let the heartbeat resurrect the banner. A bare error placeholder
(no streamed content) is dropped entirely; a turn that streamed partial
output before failing keeps its text and just sheds the error.

The control only renders when an onDismissError handler is wired, so
secondary/embedded Thread usages are unaffected. Adds the dismissError
string to all four locales (en/ja/zh/zh-hant) and two behavior tests.

Co-authored-by: Teknium <127238744+teknium1@users.noreply.github.com>
2026-06-17 16:46:43 -04:00
..
assistant-ui feat(desktop): add dismiss control to chat error banners (#47985) 2026-06-17 16:46:43 -04:00
chat perf(desktop): keep oversized messages from freezing the chat 2026-06-17 08:25:52 -05:00
pane-shell fix(desktop): inset hover-reveal trigger past the adjacent scrollbar (#44159) 2026-06-14 21:23:38 -05:00
ui fix(desktop): show copied checkmark on session Copy ID (#46030) 2026-06-14 07:38:55 +00:00
Backdrop.tsx
boot-failure-overlay.tsx feat(desktop): unified overlay design system, BrandMark & onboarding redesign (#40708) 2026-06-06 16:32:47 -05:00
boot-failure-reauth.test.ts feat(desktop): per-profile remote gateway hosts (#39778) 2026-06-05 12:14:18 +00:00
boot-failure-reauth.ts feat(desktop): persist i18n language in config 2026-06-05 10:32:26 -07:00
brand-mark.tsx docs(desktop): add DESIGN.md design-system guide + close two consistency gaps (#40823) 2026-06-06 22:13:17 +00:00
desktop-install-overlay.tsx feat(desktop): unified overlay design system, BrandMark & onboarding redesign (#40708) 2026-06-06 16:32:47 -05:00
desktop-onboarding-overlay.test.tsx fix(desktop): collect + persist API key for custom OpenAI endpoints (#43896) 2026-06-12 00:03:55 +00:00
desktop-onboarding-overlay.tsx fix: guard OAuth account removal 2026-06-13 21:47:13 -07:00
error-boundary.tsx Refactor desktop i18n field copy into nested structures 2026-06-06 07:51:44 -07:00
gateway-connecting-overlay.test.tsx fix(desktop): keep composer usable during reconnect (#45488) 2026-06-13 02:36:09 -07:00
gateway-connecting-overlay.tsx fix(desktop): keep composer usable during reconnect (#45488) 2026-06-13 02:36:09 -07:00
haptics-provider.tsx perf(desktop): faster session resume & warm AudioContext at idle 2026-06-12 21:07:40 -05:00
language-switcher.test.tsx Add searchable language picker 2026-06-06 07:51:44 -07:00
language-switcher.tsx Add searchable language picker 2026-06-06 07:51:44 -07:00
model-picker.tsx fix(desktop): honor pre-session model pick + restore global reasoning/speed defaults (#47447) 2026-06-16 16:22:09 -05:00
model-visibility-dialog.tsx feat(desktop): composer status stack, live subagent windows, editable prompts (#44630) 2026-06-12 08:30:06 -05:00
notifications.tsx feat(desktop): unified overlay design system, BrandMark & onboarding redesign (#40708) 2026-06-06 16:32:47 -05:00
page-loader.tsx
prompt-overlays.tsx feat(desktop): unified overlay design system, BrandMark & onboarding redesign (#40708) 2026-06-06 16:32:47 -05:00
session-picker.tsx fix(desktop): route profile session reads 2026-06-11 18:09:24 -05:00
status-dot.tsx