spawn/packages/cli/src
A 556f32ecfc
fix: reset terminal state before interactive session handoff (#1934)
* fix: reset terminal state before interactive session handoff

The stdin handoff from TS orchestration to the interactive SSH session
was leaving the terminal in a dirty state, causing users to need 2+
Enter presses or random keystrokes before input worked.

Three fixes:
1. Unconditionally call setRawMode(false) instead of checking isRaw
   first — @clack/core's close() already resets the flag but the
   terminal can still be dirty after multiple readline instances
2. Run `stty sane` to fully reset the terminal line discipline,
   undoing any damage from readline's emitKeypressEvents
3. Resume stdin instead of pausing it — Bun.spawn with stdio:"inherit"
   needs an active stream, a paused stdin causes the child to see
   blocked input

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* style: fix Biome formatting for Bun.spawnSync call

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: spawn-bot <spawn-bot@openrouter.ai>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Ahmed Abushagur <ahmed@abushagur.com>
Co-authored-by: L <6723574+louisgv@users.noreply.github.com>
2026-02-25 18:45:27 -05:00
..
__tests__ fix: remove fake tests that copy-paste source functions instead of importing (#1919) 2026-02-25 03:26:58 -08:00
aws fix: add SIGKILL fallback to process timeout kills (#1931) 2026-02-25 16:50:18 -05:00
daytona fix: drain piped stderr in Fly/Daytona runServerCapture to prevent deadlock (#1920) 2026-02-25 07:19:15 -05:00
digitalocean fix: add SIGKILL fallback to process timeout kills (#1931) 2026-02-25 16:50:18 -05:00
fly fix: add SIGKILL fallback to process timeout kills (#1931) 2026-02-25 16:50:18 -05:00
gcp fix: add SIGKILL fallback to process timeout kills (#1931) 2026-02-25 16:50:18 -05:00
hetzner fix: add SIGKILL fallback to process timeout kills (#1931) 2026-02-25 16:50:18 -05:00
local ci: add Mock Tests job to satisfy required status check (#1904) 2026-02-25 00:54:33 -05:00
shared fix: reset terminal state before interactive session handoff (#1934) 2026-02-25 18:45:27 -05:00
sprite fix: drain piped stdout/stderr in aws waitForCloudInit and sprite destroyServer (#1929) 2026-02-25 15:48:43 -05:00
commands.ts fix(ux): use space instead of slash in connection failure hint (#1930) 2026-02-25 16:47:09 -05:00
flags.ts feat: Bun workspace monorepo — packages/cli + packages/shared (#1853) 2026-02-23 22:07:05 -08:00
guidance-data.ts feat: Bun workspace monorepo — packages/cli + packages/shared (#1853) 2026-02-23 22:07:05 -08:00
history.ts feat: Bun workspace monorepo — packages/cli + packages/shared (#1853) 2026-02-23 22:07:05 -08:00
index.ts feat: Bun workspace monorepo — packages/cli + packages/shared (#1853) 2026-02-23 22:07:05 -08:00
manifest.ts test: fix inline source copies — import real isValidManifest instead of stale replica (#1900) 2026-02-24 22:04:03 -08:00
picker.ts fix: replace @clack/prompts multiselect with /dev/tty picker for SSH keys (#1907) 2026-02-24 23:54:54 -08:00
security.ts feat: Bun workspace monorepo — packages/cli + packages/shared (#1853) 2026-02-23 22:07:05 -08:00
unicode-detect.ts feat: Bun workspace monorepo — packages/cli + packages/shared (#1853) 2026-02-23 22:07:05 -08:00
update-check.ts style: enforce separated type imports via biome (#1870) 2026-02-24 00:16:03 -08:00