mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-08-01 01:36:14 -04:00
Extends the FileCopyJob to support PULL operations, enabling files to be copied FROM remote devices TO the local device. Previously, only PUSH operations worked (local -> remote). Changes: - Add PullRequest/PullResponse messages to FileTransferMessage enum - Add TransferDirection enum to detect PUSH vs PULL operations - Refactor RemoteTransferStrategy to detect direction automatically - Implement execute_pull() for remote source -> local destination - Add handle_pull_request() handler on the protocol side - Add path validation for security (prevent directory traversal) - Add integration test for PULL operations The strategy automatically detects direction based on SdPath: - Source is local + Destination is remote = PUSH (existing behavior) - Source is remote + Destination is local = PULL (new behavior) This enables users to drag files from remote device explorers to local folders, which previously failed with 'Source must be local path' error. Closes FILE-005