kitty/kittens
Connor Welsh d50d1bba65
ssh kitten: avoid in-place mutation of cmd by slices.Insert
slices.Insert(cmd, 1, "-O", "check") writes into cmd's backing array
when there is spare capacity (cap(cmd) >= len(cmd)+2). check_cmd points
at the shifted array, but cmd's slice header is unchanged: reading
cmd[:insertion_point] later returns "-O", "check", ... where the
original prefix used to be. run_control_master, forward_remote_control,
and the final ssh exec all build their argvs from this corrupted prefix.

Repro: share_connections=yes, forward_remote_control=yes, and enough
ssh_args to push cmd past Go's slice-growth threshold (kitten ssh -v
host does it). With the ControlMaster already up you'll see
"Multiplexing command already specified"; otherwise it fails with
"Failed to start SSH ControlMaster" and a stray -O check left in the
cmdline.
2026-05-18 23:08:33 -04:00
..
ask
broadcast
choose_files choose-files kitten: Output a trailing newline when writing to a tty in text format 2026-05-07 08:53:09 +05:30
choose_fonts
clipboard
command_palette
desktop_ui
diff
dnd Simplify message formatting in render.go 2026-05-18 08:46:34 +00:00
hints Fix hints kitten breaking multi-byte UTF-8 characters when overlaying hint labels 2026-05-13 17:09:42 +08:00
hyperlinked_grep
icat
notify
pager
panel
query_terminal
quick_access_terminal
remote_file
resize_window
show_key
ssh ssh kitten: avoid in-place mutation of cmd by slices.Insert 2026-05-18 23:08:33 -04:00
themes
transfer
tui
unicode_input
__init__.py
runner.py