spawn/packages
Audrey Sage Lorberfeld 67215c0f44
fix(cursor-proxy): fix double-wrapped Result hiding setup failures (#3428)
* fix(cursor-proxy): fix double-wrapped Result hiding setup failures

The error handling in setupCursorProxy and startCursorProxy used
asyncTryCatchIf(isOperationalError, () => wrapSshCall(...)) which
double-wrapped the Result: wrapSshCall returns Err() on failure
(doesn't throw), so asyncTryCatchIf always saw a successful return
and wrapped it in Ok(Err(...)). This meant result.ok was always
true, causing misleading output like "Cursor proxy started" even
when every step failed.

Fix: call wrapSshCall directly and check its returned Result.
Also adds macOS DNS cache flush after /etc/hosts modification and
early-return on deploy/hosts failure with accurate warning messages.

* fix(cli): inject SPAWN_CLI_DIR in dev script so local source is always used (#3429)

* fix(cli): inject SPAWN_CLI_DIR in dev script so local source is always used

Without SPAWN_CLI_DIR, `bun run dev` downloads the spawn script from
the published CDN release, ignoring any local source changes. This is
especially confusing when developing on a branch with fixes that
haven't been published yet.

Set SPAWN_CLI_DIR to the repo root (via git rev-parse) in the dev
script so the local checkout is always used during development.

* docs(cursor): add model picker and provider notes for local spawn (#3431)

Add a section to sh/local/README.md noting that the "Custom model"
setup option must be selected to get the OpenRouter model picker when
spawning Cursor locally, and that only Cursor IDE-supported providers
work (linking to Cursor's supported providers docs).
2026-05-21 17:38:47 -07:00
..
cli fix(cursor-proxy): fix double-wrapped Result hiding setup failures (#3428) 2026-05-21 17:38:47 -07:00
shared fix: rethrow normalized Error in tryCatchIf/asyncTryCatchIf (#2930) 2026-03-23 19:33:05 -07:00