mirror of
https://github.com/Routstr/routstrd.git
synced 2026-10-05 12:28:23 +00:00
Review follow-ups on the installer: - --print-asset no longer requires curl/wget or HOME: the HTTP client is resolved lazily and the install directory only after the early exit, so printing the asset name works on a machine with neither, which is the point of that flag. - Trap INT/TERM with `exit 1` instead of `cleanup` alone. A trapped signal previously resumed execution after the handler, which (with the temp dir already removed by the handler) surfaced as a misleading follow-on download error. The installer now reports the interrupt and exits. - Bound every HTTP transfer: 10s connect timeout, 60s for the API, 15min for the archive, with retries. A stalled connection previously hung the installer forever; the standalone updater already caps this at 30s. - Prefer the native arm64 build on Apple Silicon when a Rosetta shell reports x86_64, instead of installing the x64 build under emulation. - Validate the staged binary against the requested version before swapping it in, as installStandaloneRelease already does, and refuse the install on a mismatch instead of replacing a working install and warning afterwards. Skipped when --platform/--arch are overridden, where the binary may not be able to run on this machine at all. - Cap SHA256SUMS at 1MB, matching MAX_CHECKSUM_BYTES in the updater. - Use tr '[:upper:]' '[:lower:]' (shellcheck SC2018/SC2019) and document the --install-dir alias in --help. Tests cover each fix, and the four new failure-path tests fail against the previous script.