Skip to content

Add upload UI and wire the uploader into the grid#25622

Draft
crazytonyli wants to merge 6 commits into
task/media-v2-upload-enginefrom
task/media-v2-upload-ui
Draft

Add upload UI and wire the uploader into the grid#25622
crazytonyli wants to merge 6 commits into
task/media-v2-upload-enginefrom
task/media-v2-upload-ui

Conversation

@crazytonyli

Copy link
Copy Markdown
Contributor

Note

This PR will be merged after #25621.

@dangermattic

Copy link
Copy Markdown
Collaborator
2 Warnings
⚠️ View files have been modified, but no screenshot or video is included in the pull request. Consider adding some for clarity.
⚠️ This PR is larger than 500 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.
1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

@wpmobilebot

wpmobilebot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

🤖 Build Failure Analysis

This build has failures. Claude has analyzed them - check the build annotations for details.

@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch from 0e6ecbf to d4572b8 Compare June 8, 2026 23:18
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 1e1fa49 to 90df03b Compare June 8, 2026 23:18
@wpmobilebot

wpmobilebot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor
App Icon📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress
ConfigurationRelease-Alpha
Build Number33049
VersionPR #25622
Bundle IDorg.wordpress.alpha
Commit8682318
Installation URL3ppj316f6jtlg
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot

wpmobilebot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor
App Icon📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack
ConfigurationRelease-Alpha
Build Number33049
VersionPR #25622
Bundle IDcom.jetpack.alpha
Commit8682318
Installation URL077lrbdk46l10
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 90df03b to 362fcbe Compare June 11, 2026 00:32
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch 2 times, most recently from 8f96db5 to adab6df Compare June 11, 2026 21:30
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 362fcbe to 14694c9 Compare June 11, 2026 21:30
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch from adab6df to d4a7b1b Compare June 12, 2026 00:50
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 14694c9 to 5db0706 Compare June 12, 2026 00:50
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch from d4a7b1b to e91673a Compare June 16, 2026 03:38
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch 2 times, most recently from 80dac4b to 3206ce1 Compare June 16, 2026 03:43
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch from e91673a to db8160b Compare June 16, 2026 08:28
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 3206ce1 to 9e91167 Compare June 16, 2026 08:28
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch from db8160b to fb748dd Compare June 17, 2026 23:51
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 9e91167 to 019a63c Compare June 17, 2026 23:51
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch from fb748dd to 675d2da Compare June 19, 2026 00:20
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 019a63c to 8384343 Compare June 19, 2026 00:20
Toolbar Add menu, sticky in-flight banner, and dedicated Uploads screen
with per-item and bulk retry/cancel, plus the Photos/camera picker
representables. Wires MediaUploader into the view model and adds the
external-picker extension point (option + delegate) the app target plugs
into.
Expose the materialized temp file URL on PendingUpload and FailedUpload,
carry it through UploadRowItem, and render it with QLThumbnailGenerator in
place of the kind icon. The icon remains until materialization completes,
for failed rows without a retryable payload, and for kinds QuickLook
cannot preview.
Materialized uploads now stage in persistent storage that survives app
suspension, so a crash or force-quit can leave orphaned files behind. Clear
them once at launch, alongside the existing V1 media-cache sweep.
The registry snapshotted MediaSettings and blog options once at first
vend, so settings changed later (like Remove Location) never reached the
cached uploader. Rebuilding the policy on every uploader(for:) call and
pushing it through updatePolicy keeps new enqueues aligned with current
settings without dropping in-flight state.
fileImporter never calls onCompletion when the user cancels, so routing
it through the picker sheet with a constant-true binding left a blank
sheet stuck on screen after Cancel. A dedicated isImportingFile state
attached directly to the view lets SwiftUI reset the presentation on
cancel natively.
MaterializedUpload derives displayName from the temp file URL.
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-engine branch from 675d2da to 6bb0246 Compare July 7, 2026 22:09
@crazytonyli crazytonyli force-pushed the task/media-v2-upload-ui branch from 8384343 to 8682318 Compare July 7, 2026 22:09
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.

3 participants