spawn/packages
Ahmed Abushagur 1ac0171daf
fix(local): install OrbStack from DMG when Homebrew is missing (#3372)
ensureDocker() on macOS unconditionally shelled out to `brew install
orbstack`, then on failure printed "install OrbStack manually: brew
install orbstack" — circular dead-end for Macs without Homebrew.

Now:
- Probe `which brew`. If present, keep using brew (existing happy path).
- If brew is missing, download the official OrbStack DMG over HTTPS
  from orbstack.dev (arch-aware: arm64 vs amd64), mount it via
  `hdiutil`, copy OrbStack.app into /Applications, and clear the
  quarantine xattr so it launches cleanly.
- If both paths fail, the new error message points users at the
  OrbStack download page (not back at brew).

DMG handling uses tryCatch + sequential cleanup (no try/finally, per
the `lint/plugin` rule in this repo). Adds a test for the brew-missing
fallback and updates the existing brew-present test to account for the
new `which brew` probe.

Bumps version to 1.0.24.
2026-04-29 15:40:21 -07:00
..
cli fix(local): install OrbStack from DMG when Homebrew is missing (#3372) 2026-04-29 15:40:21 -07:00
shared fix: rethrow normalized Error in tryCatchIf/asyncTryCatchIf (#2930) 2026-03-23 19:33:05 -07:00