hermes-agent/apps/desktop/src/components
David Doan 8666fd7635 fix(desktop): preserve other providers' hide-all in model visibility dialog
#43496 added a per-provider hide-all sentinel ('provider::') so emptying a provider in the Edit Models dialog stopped re-expanding its defaults. That fixed the single-provider case, but the dialog's toggle handler seeds its working set from effectiveVisibleKeys(), which strips ALL sentinels before returning. So persisting after any toggle silently dropped every OTHER provider's hide-all sentinel; those providers then looked 'never customized' and re-enabled all their models on the next render.

Split resolution into two functions:

- resolveVisibleKeys(): stored keys + curated default expansion, with hide-all sentinels PRESERVED — the canonical working set the toggle handler mutates and persists.

- effectiveVisibleKeys(): resolveVisibleKeys() then strips sentinels, for display only (unchanged contract).

Move the toggle set-computation into a pure, unit-tested toggleModelVisibility() that seeds from resolveVisibleKeys(), so sibling sentinels survive the persist. Add regression tests that drive the real toggle handler across multiple providers.

Follow-up to #43496; completes the fix for #43485 (cross-provider case).
2026-06-21 15:42:26 +05:30
..
assistant-ui fix(desktop): allow selecting slash output and shell logs in thread (#49063) 2026-06-19 13:59:09 +00:00
chat fix(desktop): composer popout polish — peel-off placement, panels, chip editing 2026-06-20 02:10:38 -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): make rendered logs selectable so they can be copied 2026-06-19 10:03:46 -05:00
Backdrop.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
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 fix(desktop): preserve other providers' hide-all in model visibility dialog 2026-06-21 15:42:26 +05:30
notifications.tsx fix(desktop): make rendered logs selectable so they can be copied 2026-06-19 10:03:46 -05:00
page-loader.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
prompt-overlays.tsx feat(desktop): unified overlay design system, BrandMark & onboarding redesign (#40708) 2026-06-06 16:32:47 -05:00
remote-display-banner.tsx feat(desktop): notify renderer when GPU acceleration is disabled due to remote display 2026-06-19 16:59:47 -07:00
session-picker.tsx fix(desktop): route profile session reads 2026-06-11 18:09:24 -05:00
status-dot.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00