hermes-agent/apps/bootstrap-installer
Kshitij Kapoor 73b3a8afe3 fix(bootstrap): download timeouts + BOM upgrade for pre-fix cached scripts (#67193 follow-up)
Two residual gaps in the #67369 salvage of #67214, found during review:

1. No timeout on the download client. Since #67369, mutable branch pins
   hit the network on EVERY run, and the stale-cache fallback only fires
   when download() returns Err. A black-holed connection (captive portal,
   hung proxy, dropped packets) never errors, so the whole bootstrap hung
   at resolve() instead of falling back to the cached script. Verified
   live: a request to a non-routable address now errors at the 10s connect
   timeout instead of hanging indefinitely.

2. The UTF-8 BOM was only written inside download(). Immutable commit-pin
   caches take CachePlan::Reuse and are served untouched forever, and the
   stale-fallback path also re-serves the old file - so a BOM-less .ps1
   cached by a pre-fix installer kept reproducing the #67193 ANSI-codepage
   parse failure on every retry (production builds pin BUILD_PIN_COMMIT,
   so this is exactly the retry population). upgrade_cached_script() now
   BOM-upgrades legacy .ps1 caches in place (atomic tmp+rename,
   best-effort, idempotent) on both reuse paths; .sh untouched.
2026-07-19 14:08:48 +05:30
..
public feat(installer): redesign the Tauri setup shim — design system, OS theme, granular updates 2026-06-30 14:46:28 -05:00
src fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
src-tauri fix(bootstrap): download timeouts + BOM upgrade for pre-fix cached scripts (#67193 follow-up) 2026-07-19 14:08:48 +05:30
.gitignore Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
eslint.config.mjs refactor(lint): hoist shared eslint + prettier config to root 2026-07-16 01:42:02 +05:30
index.html feat(installer): rename macOS installer to "Hermes" and make it a launcher (#37516) 2026-06-02 17:47:34 +00:00
package.json refactor(lint): hoist shared eslint + prettier config to root 2026-07-16 01:42:02 +05:30
tsconfig.json fix(desktop): move tsconfig to es2023 2026-06-15 12:07:17 -04:00
tsconfig.node.json Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
vite.config.ts Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00