hermes-agent/apps/bootstrap-installer/src-tauri/src
joelbrilliant 86eba6f6a9 fix(update): stream update child output to the live log (PYTHONUNBUFFERED)
hermes update is a Python CLI writing to a pipe when the Tauri updater or
the desktop's in-app POSIX path spawns it, so CPython block-buffers stdout.
Long quiet steps stream nothing to the progress UI. Worst case is the
pre-update backup (updates.pre_update_backup: true): it can zip multi-GB
archives for minutes while the updater still shows the previous line
('waiting for Hermes to exit...'). Users read that as a hang, cancel a
healthy update, and the orphaned child keeps mutating the install.

Set PYTHONUNBUFFERED=1 in both spawn sites (update_child_env in the Tauri
updater, applyUpdatesPosixInApp in the desktop) so output streams line by
line.

Also make the lock-probe unit test pass on macOS: the packaged payload
lives under Contents/Resources there, and Path::ends_with is
case-sensitive, so the lowercase resources/app.asar assertion only ever
matched the Windows/Linux layouts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 13:48:05 +10:00
..
bootstrap.rs feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
events.rs feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
install_script.rs feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07: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 feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
powershell.rs feat(desktop): ts-ify everything 2026-07-08 16:24:16 -07:00
update.rs fix(update): stream update child output to the live log (PYTHONUNBUFFERED) 2026-07-16 13:48:05 +10:00