Skip to content

fix(install): pick CLI archive, not desktop tarball#76

Merged
m0n0x41d merged 1 commit intomainfrom
dev
Apr 30, 2026
Merged

fix(install): pick CLI archive, not desktop tarball#76
m0n0x41d merged 1 commit intomainfrom
dev

Conversation

@m0n0x41d
Copy link
Copy Markdown
Owner

Summary

install.sh regex matched both haft-${arch}.tar.gz and haft-desktop-${arch}.tar.gz and head -1 picked the desktop one (alphabetically first). Users hit "Binary not found in archive" because the desktop tarball ships haft-desktop / Haft.app, not the CLI `haft`.

Test plan

  • Verified all three CLI arches (linux-amd64, linux-arm64, darwin-arm64) resolve to the correct tarball URL after the fix
  • No retag of v7.0.0 needed — install.sh is fetched from raw.githubusercontent.com/main/install.sh, fix lands live for all curl ... | bash users on merge

The download URL regex `browser_download_url.*${os_arch}.tar.gz` matched
BOTH `haft-${os_arch}.tar.gz` and `haft-desktop-${os_arch}.tar.gz`. The
desktop variant sorts first in the GitHub API response (alphabetical),
so `head -1` picked the Tauri shell archive instead of the CLI archive.
That archive ships `haft-desktop` (Linux) or `Haft.app/` (macOS), neither
of which contains the `haft` CLI binary that install.sh expects under
`./haft` or `./bin/haft` — so users hit "Binary not found in archive".

Reported externally during v7.0.0 install attempts on linux-amd64.

Anchor on `/haft-${os_arch}\.tar\.gz` (leading slash, escaped dots) so
`haft-desktop-*` URLs are excluded by the literal segment match. Verified
on all three currently-shipped CLI archs (linux-amd64, linux-arm64,
darwin-arm64) — each now resolves to the correct CLI tarball URL.

install.sh is fetched from raw.githubusercontent.com/m0n0x41d/haft/main/
install.sh, so this fix goes live for all `curl ... | bash` callers as
soon as it lands on main — no v7.0.x patch tag needed.
@m0n0x41d m0n0x41d merged commit 0683440 into main Apr 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant