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 Use SIMD base64 everywhere 2026-04-21 11:56:55 +05:30
command_palette run go modernizer 2026-04-16 19:12:31 +05:30
desktop_ui
diff Make sticky_header default to yes 2026-04-19 12:14:39 +05:30
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 DRYer 2026-04-10 15:32:27 +05:30
notify Use SIMD base64 everywhere 2026-04-21 11:56:55 +05:30
pager
panel Sort imports 2026-04-19 21:53:09 +05:30
query_terminal DRYer 2026-04-10 15:32:27 +05:30
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 Use SIMD base64 everywhere 2026-04-21 11:56:55 +05:30
tui
unicode_input
__init__.py
runner.py