Skip to content

RC4: queue multi-file drags in one transfer window - #4

Draft
aeae1 wants to merge 2 commits into
release/1.0.1-rc.3from
release/1.0.1-rc.4
Draft

aeae1 wants to merge 2 commits into
release/1.0.1-rc.3from
release/1.0.1-rc.4

Conversation

@aeae1

@aeae1 aeae1 commented Sep 7, 2026

Copy link
Copy Markdown
Owner

RC3 rejected overlapping transfers after three seconds; the user's two-PC logs confirm the receiver rejection immediately preceded each sender connection reset. The helper also extracted only the first selected file, and pending requests could resolve against a replaced global source path.

This adds immutable, single-use drag offers and a versioned encrypted batch protocol with ordered receive admission, waiting heartbeats, and per-file saved acknowledgements. Later drags can connect and appear in the same window while an earlier batch copies. Cancellation stops active and queued files, incomplete files are cleaned up, and completed/duplicate files are preserved.

The shared window removes speed selections, runs transfers at maximum speed, avoids progress-tick tooltip/layout changes, restores on explicit new transfers, and closes successful queues after cleanup. Drag feedback appears on announcement and ignores stale post-drop show messages; unrelated clipboard connections no longer reset drag state. One-way clipboard mode retains its distinction between sending and receiving.

Validation: Windows Release x64 build succeeded at b00d92d. Unit tests: 66 passed, 0 failed, 1 existing skip (67 total), including seven new queue/batch tests. Release metadata validation and one-EXE publishing succeeded. The loopback regression holds the first transfer active for more than three seconds while another connection queues, cancels the waiting connection, and verifies the original completes. An initial compile error from the WinForms DragDrop member name was corrected before publishing.

CI: https://github.com/aeae1/MouseWithoutBorders-Portable/actions/runs/34074036930
RC4: https://github.com/aeae1/MouseWithoutBorders-Portable/releases/tag/mwb-v1.0.1-rc.4

Hardware validation remains pending, especially cursor hiding, foreground behavior, Explorer drag capture, and real two-PC traffic. See docs/RC4_FILE_QUEUE.md and the release checklist. Keep this draft until the RC is tested on real PCs.

Use RC4 on BOTH PCs. Legacy clipboard copy/paste remains single-file; folders, direct Explorer destinations, pause/resume, automatic retry, and hash receipts are deferred. Mouse/keyboard wire types and encryption are unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant