mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-20 09:31:15 +00:00
* fix: run bun in foreground in DigitalOcean scripts to unfreeze interactive prompts The _run_with_restart function backgrounded bun with `& + wait` so a SIGTERM trap could forward the signal. But backgrounding removes bun from the terminal's foreground process group, which prevents @clack/prompts multiselect from entering raw mode — arrow keys print as raw escape sequences (^[[A^[[B) and the SSH key selection prompt freezes. Fix: run bun in the foreground and detect SIGTERM from exit code 143 (128+15) instead of using a trap flag + PID tracking. This preserves the restart-on-signal behavior while giving bun full terminal access for interactive prompts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: replace @clack/prompts multiselect with /dev/tty picker for SSH keys When the CLI (parent bun) spawns bash → child bun for cloud scripts, the parent's event loop keeps fd 0 registered and races with the child's @clack/prompts for terminal input. This causes the SSH key multiselect to render but freeze — arrow keys print as raw escape sequences. Fix: add multiPickToTTY() in picker.ts that opens /dev/tty directly, bypassing process.stdin entirely. Replace the @clack/prompts multiselect in ssh-keys.ts with this new function. Also add process.stdin.unref() to prepareStdinForHandoff() so the parent stops polling fd 0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * perf: disable SSH compression for interactive sessions Compression=yes adds per-keystroke CPU overhead that causes noticeable input lag on normal connections. Only beneficial on slow/high-latency links. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| aws | ||
| cli | ||
| daytona | ||
| digitalocean | ||
| e2e | ||
| fly | ||
| gcp | ||
| hetzner | ||
| local | ||
| shared | ||
| sprite | ||
| test | ||