Skip to content

feat: rebuild the Share Extension with SwiftUI - #4430

Draft
marinofaggiana wants to merge 14 commits into
masterfrom
share-review-ext
Draft

marinofaggiana wants to merge 14 commits into
masterfrom
share-review-ext

Conversation

@marinofaggiana

@marinofaggiana marinofaggiana commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Replaces the legacy Share Extension with a new SwiftUI interface and revised input preparation, account selection, and upload conflict handling.

  • Adaptive layout for portrait, landscape, iPad, and iPhone Duo.
  • Folder tree with favorites first and the last three upload destinations.
  • Account menu with avatars and aliases.
  • File thumbnails, renaming, removal, and upload count.
  • Revised item-provider loader with representation fallbacks, cancellation, and explicit import errors.
  • Dedicated conflict handling: replace or keep both for a single file, and unique copy names for multiple files.
  • Capabilities loaded from the database first, with a server fallback, plus offline feedback.

Adds unit tests for input loading, conflict naming, and recent destinations. Device testing and broader validation are still ongoing.

🤖 AI

  • The content of this PR was partly or fully generated using AI.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Host Share sources in app Debug builds with SHARE_PREVIEWS and exclude them from Release builds. Gate preview code and document the required scheme.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Persist the last three successful upload destinations per account and validate folders before selection. Add unit tests for recent destination storage.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Require server capabilities before browsing or uploading, with loading states and retry support. Fall back to usable text when other shared representations fail, including attributed text, and add import regression tests.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
@marinofaggiana marinofaggiana self-assigned this Oct 28, 2026
@marinofaggiana
marinofaggiana marked this pull request as draft October 28, 2026 17:23
@marinofaggiana marinofaggiana linked an issue Oct 28, 2026 that may be closed by this pull request
Centralize account readiness checks and pass capabilities explicitly through upload preparation and staging.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Distinguish recent-folder selection from tree selection, streamline the folder and file lists, and show a pluralized file count on the upload button.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Refresh folders asynchronously and consolidate share status indicators into a single prioritized view.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Replace the account picker sheet with a menu showing avatars and account aliases. Add cached Quick Look thumbnails with file-type icon fallbacks, and enlarge file and folder rows.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Block network actions while offline and retry loading on reconnect. Adapt the Share extension to compact landscape layouts and show loading progress beside the account menu.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Place the folder header and upload button across both columns, let the file list fill available height, and round selected folder highlights.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Add an explicit cancel action and refine folder label colors and selection padding.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
Show favorite folders first with accessible star badges, and scale file thumbnails to fill their frames.

Signed-off-by: Marino Faggiana <marino.faggiana@nextcloud.com>
@marinofaggiana marinofaggiana changed the title Share review ext feat: rebuild the Share Extension with SwiftUI Oct 29, 2026
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.

Review and modernize the Share Extension UI

1 participant