Files
claude-chill/crates
TheKelvinPerez 66cc2ea0b8
Some checks failed
CI / Version Badge (push) Has been cancelled
CI / Check (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / Clippy (push) Has been cancelled
CI / test-matrix (macos-latest) (push) Has been cancelled
CI / test-matrix (ubuntu-latest) (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Integration Tests (macos-latest) (push) Has been cancelled
CI / Integration Tests (ubuntu-latest) (push) Has been cancelled
CI / Nix Build (macos-latest) (push) Has been cancelled
CI / Nix Build (ubuntu-latest) (push) Has been cancelled
Fix bracketed paste passthrough and PTY write deadlock (#34)
* fix: bracketed paste passthrough and pty write deadlock prevention

Enable bracketed paste on the real terminal at startup so tmux/Ghostty
wraps paste content in markers. Detect paste markers in process_input
and forward directly to the child pty, skipping byte-by-byte lookback
matching. Replace blocking write_all with write_to_pty_draining that
interleaves output reads to prevent the classic pty buffer deadlock
when forwarding large input.

* Fix clippy/fmt, buffer drained PTY output through VT parser, handle split paste end markers

- Fix clippy collapsible_if warning and cargo fmt issues
- Drained child output during PTY writes now buffers into pty_drain_buffer
  and is processed through process_output after process_input returns,
  keeping VT parser state, history, and alt-screen tracking in sync
- Add paste_remainder buffer to handle paste end markers split across
  read() boundaries, preventing permanent stuck-in-paste-mode state
- Add split_trailing_marker_prefix helper with tests

---------

Co-authored-by: Dave Beesley <david.beesley@pm.me>
2026-03-29 18:05:44 -06:00
..