hermes-agent/apps/desktop/electron
emozilla 6381e70448 feat(installer): drive in-app updates through the Tauri installer
Converge update on the same principle as bootstrap: one driver owns all
repo mutation. The desktop becomes a pure consumer that hands off to
Hermes-Setup.exe --update instead of re-implementing git/pip in Electron.

- hermes desktop --build-only: build without launching, so the installer
  owns the post-update launch (CLI keeps build logic single-sourced).
- Installer AppMode {Install,Update} from argv; get_mode exposed to the UI.
- Installer self-copies to HERMES_HOME/hermes-setup.exe on install success
  (no-op guard during --update re-invocation to avoid the locked-exe copy).
- Installer --update flow (update.rs): wait for the desktop to release the
  venv shim, run 'hermes update --yes --gateway' (branch on exit 0/2/other),
  then 'hermes desktop --build-only', then launch the rebuilt desktop. Reuses
  the bootstrap event channel + progress UI via a synthetic two-stage manifest.
- Desktop applyUpdates() gutted (~105 lines of git/stash/pull/pyproject/pip
  removed) -> thin handoff: spawn updater, app.quit() to free the shim.
  Detection (checkUpdates, commit changelog, behind-count) kept intact.
- install.ps1 creates Start Menu + Desktop shortcuts to the packed Hermes.exe
  (never bare 'hermes desktop', which would rebuild every launch).
2026-05-28 23:48:21 -04:00
..
backend-probes.cjs fix(desktop): probe steps 4 & 5 of resolveHermesBackend before trusting 2026-05-20 14:41:23 -04:00
backend-probes.test.cjs fix(desktop): probe steps 4 & 5 of resolveHermesBackend before trusting 2026-05-20 14:41:23 -04:00
bootstrap-platform.cjs feat(desktop): add startup and onboarding flow 2026-05-07 22:33:44 -04:00
bootstrap-platform.test.cjs test(desktop): allow node-pty bare-require in packaged entrypoints 2026-05-20 14:41:31 -04:00
bootstrap-runner.cjs feat(desktop): thin installer + first-launch install.ps1 bootstrap 2026-05-18 02:26:46 -04:00
entitlements.mac.inherit.plist ci(desktop): automate desktop releases 2026-05-05 13:04:33 -05:00
entitlements.mac.plist ci(desktop): automate desktop releases 2026-05-05 13:04:33 -05:00
hardening.cjs feat(desktop): reconcile live tool events, polish thread chrome, harden boot 2026-05-11 21:38:47 -04:00
hardening.test.cjs feat(desktop): reconcile live tool events, polish thread chrome, harden boot 2026-05-11 21:38:47 -04:00
main.cjs feat(installer): drive in-app updates through the Tauri installer 2026-05-28 23:48:21 -04:00
preload.cjs feat(desktop): thin installer + first-launch install.ps1 bootstrap 2026-05-18 02:26:46 -04:00