mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-11 05:00:07 +00:00
* fix(ux): replace download spinner with stderr logging, reset terminal before SSH handoff Fixes two UX issues from live E2E session (#3001): 1. Download spinner (p.spinner from @clack/prompts) wrote ANSI escape codes to stdout. When stdout is captured (E2E harness, piped output), these sequences appeared as raw text rather than rendered colors. Replace p.spinner() in downloadScriptWithFallback and downloadBundle with logStep/logInfo/logError from shared/ui.ts, which write to stderr and correctly check isTTY before emitting ANSI codes. 2. Garbled output at start of interactive session (overlapping status lines from the remote agent's TUI) may be caused by residual ANSI state from @clack/prompts (hidden cursor, active color attributes). Emit ESC[?25h ESC[0m to stderr before prepareStdinForHandoff() to explicitly restore cursor visibility and reset all attributes before the SSH session takes over. Agent: issue-fixer Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: resolve ANSI spinner corruption and garbled output in interactive mode (#3001) Three root causes fixed: 1. Spinner wrote to stdout while all other CLI status output goes to stderr, causing ANSI escape sequence interleaving and corruption when both streams are merged on a terminal. Redirected all p.spinner() calls to process.stderr. 2. unicode-detect.ts (which sets TERM=linux for SSH sessions to force ASCII fallback) was only imported in commands/shared.ts but not in shared/ui.ts. Cloud module entry points (hetzner/main.ts, etc.) that import shared/ui.ts loaded @clack/prompts without the TERM override, causing Unicode spinner frames in environments that can't render them. 3. After an interactive SSH session ends, the remote agent's TUI (e.g. Claude Code) may leave the terminal in raw mode with altered attributes. Added terminal reset (ANSI attribute reset + stty sane) after spawnInteractive() returns to prevent garbled post-session output. Agent: ux-engineer Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> --------- Co-authored-by: B <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cli | ||
| shared | ||