Repository navigation
1.45.0: send any file to a session on another PC (any kind, up to 4 GB) - #63
Merged
Merged
Conversation
…n pieces A remote session took images and 21 document kinds up to 5 MB. Now any kind travels: cockpit:uploadStart / uploadChunk (2 MB pieces, inside the link's 8 MB frame) / uploadFinish / uploadAbort, all needing `control` like receiveFile. The kind is no longer checked: a device that can type into a session can already have its agent run anything. What stays: written only into temp under a DevDeck-chosen name the sweeper removes; never opened; Mark of the Web on Windows; refused if it would leave under 2 GB free; at most 4 open; dropped after 5 idle minutes. The sender reads one piece at a time, shows progress past 8 MB, sends an image too large to redraw as PNG as it is, and falls back to receiveFile for a host older than this. qa:images-remote sends a 9 MB binary between two real paired apps and compares bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016NLGwiBY5uEivJqERQzcoY
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016NLGwiBY5uEivJqERQzcoY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The person asked to send any file to a remote session, and to relax the size limit.
Before: images, plus 21 document kinds (text, data, logs, PDF) up to 5 MB each, sent in a single link message (frame limit 8 MB).
Now: any kind, up to 4 GB, sent in 2 MB pieces.
cockpit:uploadStart(name, size),uploadChunk(id, offset, base64),uploadFinish(id)→ path,uploadAbort(id). All needcontrol, likereceiveFile.uploadChunk120 s.receiveFileis kept for senders older than this. Against an older host, the sender falls back to it: same kinds, 5 MB.Why the kind check is dropped: sending a file needs the same permission as typing into the host's sessions. A device with that permission can already ask the agent to run anything, so refusing an
.exein temp protected nothing.What the receiving PC still enforces (
src/main/fileUploads.ts):tmpdir()asdevdeck-file-<uuid>-<safe name>. The temp sweeper already removes those after a day. While the upload runs it is a.partfile, renamed when the last byte is in.Zone.Identifierwith ZoneId=3 (Mark of the Web).Sender:
File.slice.Also: a What's new entry (
send-any-file) in all 4 languages; release notes; README;docs/quality.md.Checks:
vitest: 1526 passed.fileUploads.test.tscovers order, size, disk space, open-upload limit, missing bytes, abort, and on Windows the Mark of the Web.controlgate.tscclean.qa:images-remote: a 9 MB.bincrosses two real paired DevDecks over TLS, byte-identical, with the progress toast shown. The existing image, log and refusal checks still pass.qa:cockpit-toolsandqa:imagespass.🤖 Generated with Claude Code
https://claude.ai/code/session_016NLGwiBY5uEivJqERQzcoY