hermes-agent/apps/bootstrap-installer/src-tauri
Brooklyn Nicholson 38d5f44df1 fix(installer): refuse a second updater instead of clobbering the marker
UpdateMarkerGuard::acquire overwrote the in-progress marker
unconditionally, so a Tauri update launched while a dashboard-spawned
"hermes update" was mid-flight simply took the marker and ran a second
updater over the same checkout. That is the race behind the reported
Windows failure: install-mode bootstrap rewound the tree while the
dashboard's updater was still running npm install against it.

acquire now returns Result and refuses when a live foreign owner holds
the marker, and Drop no longer deletes a marker this process does not
own. Liveness matches the Python and Electron readers of the same file:
dead pid or past the shared age ceiling means stale and reclaimable, so
a crashed updater cannot wedge future updates.

Adds a cfg(unix) libc dependency for the signal-0 liveness probe; the
Windows path uses OpenProcess/GetExitCodeProcess.
2026-07-29 17:46:00 -05:00
..
capabilities feat(installer): redesign the Tauri setup shim — design system, OS theme, granular updates 2026-06-30 14:46:28 -05:00
icons Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
src fix(installer): refuse a second updater instead of clobbering the marker 2026-07-29 17:46:00 -05:00
build.rs feat(installer): make commit pinning opt-in, default to branch-follow 2026-06-01 21:35:46 -04:00
Cargo.toml fix(installer): refuse a second updater instead of clobbering the marker 2026-07-29 17:46:00 -05:00
hermes-setup.manifest Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
tauri.conf.json feat(installer): rename macOS installer to "Hermes" and make it a launcher (#37516) 2026-06-02 17:47:34 +00:00