Skip to content

Files: send and drop files from iPhone and iPad onto the Mac (#188) - #189

Open
addhumal wants to merge 3 commits into
Saffsanity:mainfrom
addhumal:device-files
Open

addhumal wants to merge 3 commits into
Saffsanity:mainfrom
addhumal:device-files

Conversation

@addhumal

@addhumal addhumal commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Closes #188.

What it does

  • Wire (Sources/StreamProtocol): Adds pull request Sill Viewer: a Mac controlling another Mac #66's file messages (StreamMessageKind.fileChunk = 34, StreamMessageKind.fileDrop = 35, FileChunk, FileDrop, and WindowList.fileDrop: Bool?) plus FileChunk.safeName and FileChunk.chunks.
  • Host (Sources/SillHost): Adds FileDrops (HostClipboard.swift, wired in StreamCoordinator.swift), which receives 512 KiB FileChunk parts per connection (FileKey) into ~/Downloads/From ‹device›/, cleans up partial or un-dropped files on disconnect, and on FileDrop drags the files into the app under the drop point (x, y) (or reveals them in Finder when nothing streams).
  • Device (iOSClient): Adds .onDrop(of: [.item]) on StreamScreen (for Split View / Slide Over drag-and-drop onto the streamed window at the drop point) and Send Files to ‹Mac›… (SendFileRow with .fileImporter) in Settings › This iPad / This iPhone when the Mac advertises fileDrop.

Why

  • Completes Roadmap Item 8 ("A device's files on the Mac via Sill Viewer: a Mac controlling another Mac #66's file messages"), allowing iPhone and iPad users to drop or pick files from their device and have them land in ~/Downloads/From ‹device›/ and the active Mac window.

Checks

  • Tests/checks/compatibility/run.sh: 117 checks passed (27 of 27 mutants caught).
  • Tests/checks/clipboard/run.sh: 259 checks passed.
  • Tests/checks/protocol/run.sh: 192 + 8 checks passed.
  • swift build -c release and .build/local27.sh (iOS simulator): clean.

This branch has not been deployed

No deployments
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.

Send and drop files from iPhone or iPad onto the Mac

1 participant