Repository navigation
Support non-image file attachments on desktop - #189
Open
katulevskiy wants to merge 4 commits into
Open
katulevskiy wants to merge 4 commits into
katulevskiy wants to merge 4 commits into
Conversation
Contribution Managerneeds triage · medium risk · untriaged Open review workspace · Revision Next actions:
This summary is maintained by the review app. Decisions and test evidence are recorded in the workspace; the app does not merge PRs. |
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.
Upstream mirror
Source: zeronsh#395
Original author: @v14
Original revision:
9e7518f8d8bb8b6611b0bcd847c2dd2da1357449This PR is an isolated Contribution Manager pilot mirror. Its reviews, checks and merge state are separate from upstream. An empty
[skip ci]commit suppresses automatic bulk CI; the code tree matches the imported upstream revision.Fixes #143.
Summary
Selecting a Markdown file or archive in the attachment picker silently discarded it. Desktop attachments now accept any regular file up to 24 MiB, including source files,
.gz/.tar.gzarchives, files without extensions, and empty files. Images retain thumbnails; other files display an icon and filename.Root cause
The composer filtered out non-image extensions before staging, and attachment readback enforced an image-only policy even for files in the upload store. Queue editing and transcript rendering also assumed every attachment was an image.
Changes
This change covers desktop and engine code. iOS file attachment support, document preview, and automatic archive extraction are outside its scope. Existing iOS clients do not display the new file attachments as tiles. Reading non-image attachments back from a remote host, including when editing queued messages, requires the host-side update.
Validation
mainmerged and composer conflict resolved: all 1,229 UI tests, 237 engine tests, and 16 upload/queue/relay integration tests passed; two engine tests ignored. Engine tests passed serially after a process-lock test failed in parallel. Formatting and diff checks passed.main: all 182 engine unit tests and 16 upload/readback, queued attachment, and relay integration tests passed. Formatting checks for all changed Rust files andgit diff --checkpassed.git diff --checkpassed. All 18 attachment tests passed again after the final mixed-Appshot parser adjustment.Not yet tested: running the patched desktop app on Linux or Windows, restoring queued file attachments from a patched Linux host, and native drag-and-drop. The live test covered sending from macOS to Linux; exact-byte comparisons and duplicate-delivery checks were covered by the automated relay test.
Attachment appearance update and screenshots.