hermes-agent/apps/desktop/electron
Brooklyn Nicholson b586e4eff2 feat(desktop): open multiple full app windows (electron)
Add createInstanceWindow() — a full-chrome peer of the primary that
renders the complete app (sidebar, routing, its own draft) against the
shared backend, so several GUI windows can run at once. Mirrors the
primary's window options + chatWindowWebPreferences (backgroundThrottling
stays off so a streamed answer never stalls when blurred) but never
overwrites the mainWindow global and doesn't respawn the backend — the
renderer's getConnection() joins the running one. New windows cascade off
their source via the pure, tested instanceWindowBounds().

Exposed via the hermes🪟openInstance IPC and a "New Window" File
menu item. Per-window fullscreen state now targets the window itself, and
titlebar/native-theme repaints reach every open chat window instead of
only the primary.

Retires the now-orphaned compact new-session pop-out (its only caller was
⌘⇧N, repointed in the follow-up commit): drops createNewSessionWindow,
the hermes🪟openNewSession handler, and the newSession/new=1 URL
flag.
2026-07-20 18:02:44 -05:00
..
backend-child.ts test(desktop): extract hiddenWindowsChildOptions + stopBackendChild for real unit tests 2026-07-13 17:22:17 -04:00
backend-command.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
backend-command.ts cleanup(desktop): remove 'use strict' in ts & mjs 2026-07-13 17:22:17 -04:00
backend-connection-state.test.ts test(desktop): port backend-connection-state test to vitest 2026-07-16 14:55:58 -04:00
backend-connection-state.ts fix(desktop): ignore stale backend exits 2026-07-16 14:53:11 -04:00
backend-env.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
backend-env.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
backend-probes.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
backend-probes.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
backend-ready.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
backend-ready.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
backend-start-failure.test.ts fix(desktop): don't latch remote backend boot failures so remote gateway reconnect recovers (#65756) 2026-07-16 20:45:43 -04:00
backend-start-failure.ts fix(desktop): don't latch remote backend boot failures so remote gateway reconnect recovers (#65756) 2026-07-16 20:45:43 -04:00
bootstrap-platform.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
bootstrap-platform.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
bootstrap-runner.test.ts fmt(js): npm run fix on merge (#67749) 2026-07-19 23:42:14 +00:00
bootstrap-runner.ts fmt(js): npm run fix on merge (#67749) 2026-07-19 23:42:14 +00:00
connection-config.test.ts fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00: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 test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
dashboard-token.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
desktop-electron-pin.test.ts fmt(js): npm run fix on merge (#65912) 2026-07-16 19:57:39 +00:00
desktop-uninstall.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
desktop-uninstall.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04: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 test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
fs-read-dir.ts feat(desktop): bridge WSL paths for a Windows host + WSL backend 2026-07-12 05:32:54 -04:00
gateway-ws-probe.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
gateway-ws-probe.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
git-repo-scan.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
git-review-ops.test.ts fix(desktop): support spaced Windows Git paths in review 2026-07-19 12:22:23 -07:00
git-review-ops.ts fix(desktop): support spaced Windows Git paths in review 2026-07-19 12:22:23 -07:00
git-root.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
git-root.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
git-worktree-ops.test.ts fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
git-worktree-ops.ts fmt(js): npm run fix on merge (#65912) 2026-07-16 19:57:39 +00:00
hardening.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
hardening.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
link-title-window.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
link-title-window.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
main-window-lifecycle.test.ts fmt(js): npm run fix on merge (#65912) 2026-07-16 19:57:39 +00:00
main-window-lifecycle.ts fix(desktop): restore closed main window on second launch (#64800) 2026-07-16 15:33:38 -04:00
main.ts feat(desktop): open multiple full app windows (electron) 2026-07-20 18:02:44 -05:00
oauth-net-request.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
oauth-net-request.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
power-save.test.ts feat(desktop): keep-computer-awake toggle + System settings section 2026-07-20 11:50:22 -05:00
power-save.ts feat(desktop): keep-computer-awake toggle + System settings section 2026-07-20 11:50:22 -05:00
preload.ts feat(desktop): keep-computer-awake toggle + System settings section 2026-07-20 11:50:22 -05:00
profile-delete-routing.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
profile-delete-routing.ts cleanup(desktop): remove 'use strict' in ts & mjs 2026-07-13 17:22:17 -04:00
session-windows.test.ts feat(desktop): open multiple full app windows (electron) 2026-07-20 18:02:44 -05:00
session-windows.ts feat(desktop): open multiple full app windows (electron) 2026-07-20 18:02:44 -05:00
spawn-helper-perms.test.ts fmt(js): npm run fix on merge (#66741) 2026-07-18 05:16:25 +00:00
spawn-helper-perms.ts fix(desktop): restore exec bit on node-pty spawn-helper for dev terminals 2026-07-18 01:00:48 -04:00
titlebar-overlay-width.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
titlebar-overlay-width.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-count.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
update-count.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-marker.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
update-marker.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
update-rebuild.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
update-rebuild.ts feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update-relaunch.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
update-relaunch.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
update-remote.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
update-remote.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
updater-process.test.ts fix(desktop): hide Windows updater console during handoff (#66040) 2026-07-16 22:50:40 -04:00
updater-process.ts fix(desktop): hide Windows updater console during handoff (#66040) 2026-07-16 22:50:40 -04:00
vscode-marketplace.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
vscode-marketplace.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
window-state.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
window-state.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
windows-child-options.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
windows-child-options.ts test(desktop): extract hiddenWindowsChildOptions + stopBackendChild for real unit tests 2026-07-13 17:22:17 -04:00
windows-hermes-path.test.ts fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
windows-hermes-path.ts fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
windows-sandbox-fallback.test.ts fix(desktop): harden Windows sandbox fallback against false-positive sandbox loss 2026-07-18 02:26:19 -07:00
windows-sandbox-fallback.ts fix(desktop): harden Windows sandbox fallback against false-positive sandbox loss 2026-07-18 02:26:19 -07:00
windows-system-ca.test.ts fix(desktop): trust Windows system CAs for remote gateways (#66304) 2026-07-17 18:55:34 -04:00
windows-system-ca.ts fmt(js): npm run fix on merge (#66731) 2026-07-18 04:56:56 +00:00
windows-user-env.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
windows-user-env.ts cleanup(desktop): lint&fmt all 2026-07-13 17:22:17 -04:00
workspace-cwd.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
workspace-cwd.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
wsl-clipboard-image.test.ts test(desktop): move node tests to vitest as well 2026-07-13 17:22:17 -04:00
wsl-clipboard-image.ts cleanup(desktop): npm run fix for fmtting 2026-07-08 16:24:16 -07:00
wsl-path-bridge.test.ts fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
wsl-path-bridge.ts fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
zoom.test.ts fix(desktop): preserve UI scale after resize 2026-07-18 09:35:01 -07:00
zoom.ts fix(desktop): preserve UI scale after resize 2026-07-18 09:35:01 -07:00