hermes-agent/apps/desktop/electron
Brooklyn Nicholson b3bde1fbee feat(desktop): soft gateway switch + gateway-settings polish
Switching connection mode (local / cloud agent / remote) no longer
full-window-reloads into the cold-boot CONNECTING screen. The primary
backend is torn down in place (no renderer reload); the shell + Settings
stay up while session lists are wiped so sidebar skeletons retrigger, then
the socket re-dials and config/sessions refresh. Cold-boot CONNECTING
latches off after the first successful boot; the intentional teardown
suppresses the backend-exit toast. Dev affordance: a "Preview soft switch"
button under Gateway diagnostics (Electron has no ?query= entry).

Gateway settings UI brought in line with the rest of Settings:
- Mode cards use the shared selectableCardClass on an equal-height
  auto-rows-fr grid, stacking 1→3 (never an orphaned 2+1); titles wrap
  instead of truncating.
- Remote gateway's auth detail moves into a ? tooltip in the title; drop
  the redundant "connects to the one you choose" from the cloud card.
- textStrong buttons force px-0 so the underline sits flush with the label.
- Tooltip chip uses box-decoration-break: clone so the background hugs each
  wrapped line (bg only on the text), capped at max-w-64.

Fully i18n'd (en + zh; ja/zh-hant inherit via defineLocale).
2026-07-10 02:57:02 -05:00
..
backend-command.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
backend-command.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-env.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-env.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-probes.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
backend-probes.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-ready.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-ready.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-platform.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-platform.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-runner.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-runner.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
connection-config.test.ts feat(desktop): Hermes Cloud connection mode — one sign-in, agent discovery, silent connect 2026-07-10 01:37:43 -05:00
connection-config.ts feat(desktop): Hermes Cloud connection mode — one sign-in, agent discovery, silent connect 2026-07-10 01:37:43 -05:00
dashboard-token.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
dashboard-token.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
desktop-uninstall.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
desktop-uninstall.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
embed-referer.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
entitlements.mac.inherit.plist fix(desktop): inherit microphone entitlement for macOS helpers 2026-06-03 07:32:00 +07:00
entitlements.mac.plist Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
fs-read-dir.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
fs-read-dir.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
gateway-ws-probe.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
gateway-ws-probe.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-repo-scan.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
git-review-ops.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
git-review-ops.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-root.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
git-root.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-worktree-ops.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-worktree-ops.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
hardening.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
hardening.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
link-title-window.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
link-title-window.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
main.ts feat(desktop): soft gateway switch + gateway-settings polish 2026-07-10 02:57:02 -05:00
oauth-net-request.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
oauth-net-request.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
oauth-session-request.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
preload.ts feat(desktop): soft gateway switch + gateway-settings polish 2026-07-10 02:57:02 -05:00
profile-delete-respawn.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
session-windows.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
session-windows.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
titlebar-overlay-width.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
titlebar-overlay-width.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-count.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update-count.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-marker.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-marker.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-rebuild.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update-rebuild.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update-relaunch.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-relaunch.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-remote.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-remote.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
vscode-marketplace.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
vscode-marketplace.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
window-state.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
window-state.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
windows-child-process.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
windows-hermes-resolution.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
windows-user-env.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
windows-user-env.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
workspace-cwd.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
workspace-cwd.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
wsl-clipboard-image.test.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
wsl-clipboard-image.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
zoom.test.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
zoom.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00