mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 22:28:24 +02:00
Bug fixes in dnd.c: - mktempdir_in_cache: add missing 'return ans' after successful strdup - mktempdir_in_cache (utils.py): use O_RDONLY instead of O_RDWR for directories - remote_items allocation: use mi.num_uris instead of ds.num_mimes - Off-by-one: uri_item_idx > changed to >= for bounds checks - Off-by-one: entry_num > changed to >= for bounds checks - populate_dir_entries: fix missing last entry after final null separator - add_payload directory finalization: create directory on disk with mkdirat - get_errno_name: add EFBIG, EISDIR, ENOSPC error codes Test infrastructure: - Add dnd_test_force_drag_dropped() to simulate DROPPED state - Make notify_drag_data_ready() succeed in test mode Comprehensive t=k tests added: - Single file, empty file, single symlink transfer - Chunked file transfer with m=1 - Single directory with children - Directory with symlinks - Multiple URIs - Deep directory trees (breadth-first and depth-first, 3+ levels) - Mixed file/dir/symlink at top level - Completion signal - Error handling (client errors, invalid state) - DoS limits (REMOTE_DRAG_LIMIT, PRESENT_DATA_CAP) - Invalid input (bad base64, too large chunks, invalid indices/handles) - URI list with comments - Multiple chunks for directory listing Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/9da0bff7-6a1a-490f-a4c5-8cb328e056ce Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>