Skip to content

App Intents: publish and schedule post intents#25756

Draft
crazytonyli wants to merge 5 commits into
task/new-siri-integration-M3from
task/new-siri-integration-M4
Draft

App Intents: publish and schedule post intents#25756
crazytonyli wants to merge 5 commits into
task/new-siri-integration-M3from
task/new-siri-integration-M4

Conversation

@crazytonyli

Copy link
Copy Markdown
Contributor

Note

This PR will be merged after #25755

@dangermattic

Copy link
Copy Markdown
Collaborator
1 Warning
⚠️ 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 Jul 7, 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 Number33034
VersionPR #25756
Bundle IDorg.wordpress.alpha
Commit75cf8f1
Installation URL3sb5r17qaucko
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot

wpmobilebot commented Jul 7, 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 Number33034
VersionPR #25756
Bundle IDcom.jetpack.alpha
Commit75cf8f1
Installation URL7pdmjpbj7tosg
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

Adds eligibility, blocker, and update-parameter helpers that let App Intents publish or schedule server-synced posts. Posts with unsaved local edits, pages, local-only posts, and posts the user's role cannot publish are refused up front, using the same capability check and nil-capabilities allowance as the in-app publish affordances, rather than surfacing a raw server rejection after confirmation. Publishing a previously scheduled post moves its date to now through a RemotePostUpdateParameters helper shared with PostCoordinator.save, covering the private-publish case the earlier inline copies missed. The publishable status list is shared between the eligibility check and the fetch predicate.
A save that skips the UIKit flow used to skip the coordinator's non-UI side effects too: the dashboard notifications that refresh the posts cards, the app-rating significant event, and the post-save error analytics. The dormant didPublish helper now owns the success block so non-UI callers can emit them, leaving only the alert and notice UI in the UIKit path. The not-found cleanup from the in-app alert flow is shared so a post permanently deleted on the server no longer survives as a local ghost, and it now also removes the post's Spotlight entry, which was previously leaked. The scheduled-post publish date coercion moves to the shared RemotePostUpdateParameters helper.
Two side-effecting intents that ask for confirmation before acting and appear as App Shortcuts with Siri phrases; the post picker offers only server-synced posts in a publishable status, and a failed save surfaces the server's own error message instead of a generic failure. Eligibility and the schedule intent's future-date guard run again after requestConfirmation returns, so state that changed while the dialog was pending, most notably an editor revision created in the app, is not silently published. The result dialog reflects the post's status after the save, because the server publishes immediately when the chosen date is no longer far enough in the future. The save path emits the PostCoordinator side effects and cleans up server-deleted posts, and the strings use the ios-appintents. GlotPress keys.
@crazytonyli crazytonyli force-pushed the task/new-siri-integration-M3 branch from 447a9ee to 6008842 Compare July 7, 2026 03:59
@crazytonyli crazytonyli force-pushed the task/new-siri-integration-M4 branch from 34833bc to 75cf8f1 Compare July 7, 2026 03:59
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