hermes-agent/apps/bootstrap-installer/src-tauri/src
brooklyn! 14fee4f112
fix(update/windows): retry handoff hermes update once on first-run crash (#39831)
The in-app updater (Hermes-Setup --update) runs `hermes update`, which lazily
imports the freshly-pulled modules — but the dependency-install step runs the
already-in-memory PRE-pull code for one invocation. When a release changes an
updater-path contract across that boundary, the FIRST update on the parked
population crashes even though the fix is already on disk.

Concretely this is #39780's `_UvResult`: its `__iter__` yields (path, bool), so
Windows `subprocess.list2cmdline([uv_bin, "pip", ...])` injects the bool and
dies with `TypeError: sequence item 1: expected str instance, bool found`
(fixed in #39820). A parked Windows user clicking Update pulls #39820 to disk,
then still crashes on the in-memory pre-merge module; only the SECOND click runs
clean. Field repro: ryanc's bootstrap.log (2026-06-05 12:41:41).

Fix: when the first `hermes update` exits non-zero (and it isn't the
concurrent-instance guard, exit 2, which a retry can't fix), retry once
automatically. The retry loads the now-current module from the start and
succeeds — so the parked user gets a working one-click update instead of a
scary crash + manual second attempt.

Verified: cargo check clean.
2026-06-05 08:37:16 -05:00
..
bootstrap.rs test(installer): cover the post-update relaunch/install target derivation 2026-06-03 12:02:07 -07:00
events.rs fix(installer): stop mislabeling stdout-style progress as stderr 2026-06-03 10:38:34 -05:00
install_script.rs Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
lib.rs feat(installer): rename macOS installer to "Hermes" and make it a launcher (#37516) 2026-06-02 17:47:34 +00:00
main.rs Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
paths.rs Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
powershell.rs fix(desktop): self-update rebuilds and relaunches cleanly on macOS 2026-06-03 10:19:44 -05:00
update.rs fix(update/windows): retry handoff hermes update once on first-run crash (#39831) 2026-06-05 08:37:16 -05:00