hermes-agent/apps/desktop/electron
emozilla 928280ca2c fix(desktop): probe steps 4 & 5 of resolveHermesBackend before trusting
A user-reported failure on Windows-on-ARM: a pre-installed Python 3.13
on PATH makes findSystemPython() succeed, so resolveHermesBackend
returns a backend pointing at it -- but hermes_cli isn't in that
interpreter's site-packages. The spawn dies with ModuleNotFoundError
and the user sees a dead GUI instead of the first-launch installer.

Same shape can hit step 4 (existing `hermes` on PATH) when a stale
shim survives a partial uninstall.

Add cheap exit-code probes -- `python -c "import hermes_cli"` for
step 5, `<hermes> --version` for step 4 -- and fall through to step 6
(bootstrap-needed) on failure. install.ps1 then runs as if on a clean
box and the venv gets built.

Probes live in a standalone electron/backend-probes.cjs module so they
can be unit-tested with node --test, same pattern as bootstrap-platform.cjs
and hardening.cjs. New test file wired into test:desktop:platforms.
2026-05-20 14:41:23 -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 feat(desktop): reconcile live tool events, polish thread chrome, harden boot 2026-05-11 21:38:47 -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 fix(desktop): probe steps 4 & 5 of resolveHermesBackend before trusting 2026-05-20 14:41:23 -04:00
preload.cjs feat(desktop): thin installer + first-launch install.ps1 bootstrap 2026-05-18 02:26:46 -04:00