Skip to content

sync: migrate batch4 attachment download + status button flow#163

Merged
tyreseluo merged 7 commits into
Project-Robius-China:mainfrom
tyreseluo:sync/upstream-batch4-download-line
May 29, 2026
Merged

sync: migrate batch4 attachment download + status button flow#163
tyreseluo merged 7 commits into
Project-Robius-China:mainfrom
tyreseluo:sync/upstream-batch4-download-line

Conversation

@tyreseluo
Copy link
Copy Markdown

Summary

This PR migrates the batch4 attachment-download line from upstream into robrix2, with robrix2 as the base and conflict-minimized integration.

Included in this batch

  • Added download icon resource and style constant (ICON_DOWNLOAD).
  • Added ImageViewer download button support.
  • Added unified attachment download module (shared/attachment_download.rs) for:
    • save dialog flow,
    • direct save for already-loaded image bytes,
    • timeline update callback support.
  • Added message-level download section with status state:
    • download button for file/audio/video messages,
    • "Downloading..." state view,
    • per-timeline pending download tracking.
  • Extended sliding sync request handling with DownloadMediaToFile.
  • Added timeline update signal AttachmentDownloadFinished to clear pending state.
  • Exposed MediaCache::timeline_update_sender() to wire download state callbacks.

Sync with latest main

  • Updated local main from robrix2/main (f93beeaf).
  • Merged latest main into this branch before pushing.

Validation

  • cargo build passes.

Notes

  • This is a low-conflict migration slice focused on attachment download and status-button behavior.

@tyreseluo tyreseluo merged commit 21a2fc5 into Project-Robius-China:main May 29, 2026
12 checks passed
@tyreseluo tyreseluo deleted the sync/upstream-batch4-download-line branch May 29, 2026 05:04
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