Skip to content

Tags: AltimateAI/altimate-code

Tags

v0.8.10

Toggle v0.8.10's commit message
release: v0.8.10

v0.8.9

Toggle v0.8.9's commit message
release: v0.8.9

v0.8.8

Toggle v0.8.8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(install): resilient latest-version fetch (both installers) (#946)

* fix(install): don't hard-fail when the GitHub releases API blips

Reported on #930: a transient 504 from api.github.com/.../releases/latest (or
the 60/hr/IP unauthenticated rate limit) aborted the whole install with
"Failed to fetch version information" — even though the download itself uses
releases/latest/download/<file>, which GitHub resolves server-side with no API
call. The API response only feeds the version-string display and the
already-installed short-circuit.

Both installers now, in the latest path:
- retry the API call up to 3x with linear backoff (bash uses curl --fail so a
  504 retries instead of parsing an error body);
- on continued failure, print a muted notice and proceed to install latest
  anyway (version string shown as "latest");
- only short-circuit as "already installed" on a real version match — never
  treat empty==empty (unresolved version + unreadable binary) as installed.

Pinned-version installs (-Version / --version) are unchanged: a genuine 404
still hard-fails.

Tests: version-fetch-resilience.test.ts pins the retry + graceful-degrade
behavior in both installers. bash -n clean; install.ps1 parses clean and the
Pester suite (6/6) still passes on PowerShell 7.6.2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(install): address latest-version-fetch review

- install: append `|| true` to the retry's curl|sed assignment. Under
  `set -euo pipefail` a failing `curl --fail` propagated through the pipeline
  and aborted the script at attempt 1, before the loop could retry or degrade
  (sahrizvi; reproduced: exit 22 without the fix, all 3 attempts + degrade with
  it). Also add `--max-time 10` to bound a dead-air socket.
- install.ps1: reset $specificVersion to $null (not "") on the degrade path, so
  the already-installed short-circuit can't false-match "" -eq "" when the
  version probe of a missing/corrupt binary also yields "" (dev-punia, sahrizvi).
- install.ps1: add -TimeoutSec 10 to Invoke-RestMethod (defaults to 100s on
  PS 5.1, unbounded on PS 7+) to bound retries on dead air (sahrizvi).
- tests: TS guards for `|| true`, --max-time/-TimeoutSec, and the $null reset.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019M7GkS3bYZaFhEbBhVTecG

* fix(install.ps1): ASCII-only so it parses on Windows PowerShell 5.1

install.ps1 had no BOM and used a few non-ASCII characters (em dash, ellipsis,
right arrow) in comments and messages. Windows PowerShell 5.1 - the default
shell on Windows 10 and preinstalled on Windows 11 - reads a BOM-less file as
the system ANSI codepage, not UTF-8, so those multi-byte characters corrupt the
token stream and the whole script fails to parse (verified on real PS 5.1).

This is a pre-existing issue (the characters predate this PR) that CI doesn't
catch because the Pester job runs under pwsh (PowerShell 7, UTF-8 by default).
Replacing the three characters with ASCII equivalents (-, ..., ->) makes the
installer parse and run on PS 5.1 while keeping pwsh behavior identical.

Also removes the now-obsolete "integrity verification deferred" NOTE comment:
the sibling PR #942 implements that verification and removes the same block, so
deleting it here too keeps the two PRs mergeable in either order with no
conflict. Same transliteration is applied verbatim in #942.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019M7GkS3bYZaFhEbBhVTecG

* test: update #930 release-validation for resilient version fetch

The #952 release-validation suite asserted the latest path hard-fails with
"Failed to fetch version information" (>=2) and that exit 1 appears >=3 times.
This PR makes the latest path retry then degrade gracefully instead of aborting,
so update those assertions: the latest path no longer hard-fails (the unsupported
-arch and pinned-404 paths still exit 1, hence >=2).

(This test never ran on this PR until it was retargeted from the merged
feat/windows-powershell-installer branch to main.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019M7GkS3bYZaFhEbBhVTecG

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: ralphstodomingo <ralphstodomingo@users.noreply.github.com>

v0.8.7

Toggle v0.8.7's commit message
release: v0.8.7

v0.8.6

Toggle v0.8.6's commit message
release: v0.8.6

v0.8.5

Toggle v0.8.5's commit message
release: v0.8.5

v0.8.4

Toggle v0.8.4's commit message
release: v0.8.4

v0.8.3

Toggle v0.8.3's commit message
release: v0.8.3

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

v0.8.2

Toggle v0.8.2's commit message
release: v0.8.2

v0.8.1

Toggle v0.8.1's commit message
release: v0.8.1