Commit fb6a9fe
Add remote drag receive implementation (t=k) in dnd.c with comprehensive tests
- Add RemoteDrag state structures to state.h (RemoteDragDir, RemoteDragEntry, RemoteDrag)
- Implement drag_receive_remote_data() in dnd.c for handling t=k escape codes
- Support file transfer, symlinks, directory trees, chunked base64 data
- Add 1GB transfer cap (REMOTE_DRAG_MAX_BYTES) to prevent resource exhaustion
- Add drag_free_remote_drag() cleanup function
- Add test helpers: dnd_test_setup_remote_drag, dnd_test_get_remote_drag_temp_dir
- Add 22 comprehensive tests covering: single file, multiple files, chunked transfer,
binary integrity, symlinks (absolute/relative), directory trees 3 levels deep,
symlinks in directories/nested dirs, empty files/dirs, error handling,
early termination/cancel, special characters in filenames, mixed content
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/ee742bcf-1a40-4229-804c-0469d5d91f44
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>1 parent 564c964 commit fb6a9fe
6 files changed
Lines changed: 1228 additions & 0 deletions
0 commit comments