hermes-agent/apps/desktop/src/components
cat-that's-fat 7dd2b2dc77 feat(desktop): add "Connect to existing Hermes" option to first-run onboarding
Adds a first-run Desktop choice between installing Hermes locally and
connecting to an existing remote Hermes gateway. The choice appears after
backend resolution but before ensureRuntime(), so selecting remote cannot
accidentally trigger local bootstrap.

New modules:
- first-run-setup-gate: concurrent first-run decision gate and reset semantics
- primary-backend-startup: Electron-free orchestration seam (saved remote
  resolution, gate decision, remote re-resolution, local continuation)
- primary-connection-rehome: prevents dual-owner race where both cold boot()
  and renderer softSwitch() could connect simultaneously
- first-run-remote-form: extracted remote form with stale-result guards

Reuses existing connection-config IPC, encrypted token storage, OAuth
session partition, and primary backend resolution.

Fixes #38602
Fixes #36970
2026-07-24 12:55:06 -05:00
..
assistant-ui fmt(js): npm run fix on merge (#69939) 2026-07-23 07:08:53 +00:00
chat fix(desktop): free code-block scrollbar & last-line selection from the toggle overlay 2026-07-22 23:23:39 -05:00
onboarding refactor(desktop): extract shared Progress primitive; billing uses it 2026-07-22 18:53:26 -05:00
pane-shell fix(desktop): render session status dot from one primitive (sidebar, tiles, main tab) 2026-07-22 22:43:51 -05:00
particles feat(desktop): TikTok-style vibe hearts on a reusable particle system 2026-07-10 05:42:14 -05:00
pet refactor(desktop): extract shared Progress primitive; billing uses it 2026-07-22 18:53:26 -05:00
ui fmt(js): npm run fix on merge (#69805) 2026-07-23 03:32:32 +00:00
Backdrop.tsx feat(desktop): add a chat backdrop on/off toggle 2026-07-14 16:50:03 -04:00
billing-banner.tsx feat(desktop): billing toast + in-chat status-row banner with smart CTA 2026-07-22 18:09:08 -05:00
boot-failure-overlay.test.tsx fix(desktop): recover a failed gateway from the boot-failure screen 2026-07-12 04:07:41 -04:00
boot-failure-overlay.tsx style(desktop): satisfy merged eslint/prettier config 2026-07-20 23:01:49 +02:00
boot-failure-reauth.test.ts style(desktop): satisfy merged eslint/prettier config 2026-07-20 23:01:49 +02:00
boot-failure-reauth.ts feat(desktop): add "Connect to existing Hermes" option to first-run onboarding 2026-07-24 12:55:06 -05: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.test.tsx feat(desktop): add "Connect to existing Hermes" option to first-run onboarding 2026-07-24 12:55:06 -05:00
desktop-install-overlay.tsx feat(desktop): add "Connect to existing Hermes" option to first-run onboarding 2026-07-24 12:55:06 -05:00
error-boundary.tsx feat(desktop): add shared project UI primitives 2026-06-25 16:40:27 -05:00
first-run-remote-form.tsx feat(desktop): add "Connect to existing Hermes" option to first-run onboarding 2026-07-24 12:55:06 -05:00
gateway-connecting-overlay.test.tsx test(desktop): fix remaining act() warnings in gateway-connecting-overlay 2026-07-13 17:22:17 -04:00
gateway-connecting-overlay.tsx fix(desktop): address review — overlay a11y, e2e typecheck, nits 2026-07-20 14:37:39 -04:00
haptics-provider.tsx perf(desktop): faster session resume & warm AudioContext at idle 2026-06-12 21:07:40 -05:00
idle-mount.test.tsx perf(desktop): idle-mount boot-hidden panes off the cold-start critical path (#67857) 2026-07-20 04:31:32 +00:00
idle-mount.tsx perf(desktop): idle-mount boot-hidden panes off the cold-start critical path (#67857) 2026-07-20 04:31:32 +00:00
language-switcher.test.tsx Add searchable language picker 2026-06-06 07:51:44 -07:00
language-switcher.tsx feat(desktop): button tooltip keybind hints + keybinds settings tab + unified worktree dialog (#65204) 2026-07-16 18:26:21 -04:00
model-picker.tsx fmt(js): npm run fix on merge (#69644) 2026-07-22 21:56:16 +00:00
model-visibility-dialog.tsx fix(desktop): scope model options by profile (#62795) 2026-07-22 09:40:50 -04:00
notifications.tsx fmt(js): npm run fix on merge (#69939) 2026-07-23 07:08:53 +00:00
page-loader.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
prompt-overlays.test.tsx feat(desktop): shared UI — per-session prompt overlays, gateway overlays, tab primitives 2026-07-13 17:57:54 -04:00
prompt-overlays.tsx fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
remote-display-banner.tsx refactor(desktop): adopt shared utils + app-wide cleanups 2026-07-03 13:48:44 -05:00
session-picker.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
status-dot.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00