Skip to content

Conversation

@crazytonyli
Copy link
Contributor

@crazytonyli crazytonyli commented Feb 3, 2026

Description

This PR expands editor cache management to all post types. With the integration of wordpress-mobile/GutenbergKit#299, we can now edit custom posts in the GBK editor.

Testing instructions

Verify the GBK editor continues to work with regular posts and pages.

Verify you can edit custom posts (available in self-hosted sites) using the GBK editor.

@dangermattic
Copy link
Collaborator

dangermattic commented Feb 3, 2026

3 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.
⚠️ This PR is assigned to the milestone 26.7. This milestone is due in less than 4 days.
Please make sure to get it merged by then or assign it to a milestone with a later deadline.

Generated by 🚫 Danger

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Feb 3, 2026

🤖 Build Failure Analysis

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

Copy link
Member

@dcalhoun dcalhoun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I perceive the draft status and current code to mean this is not ready for formal review. Regardless, I left a few thoughts for consideration from an initial review and testing.

Overall, things seem to operate relatively well. I noted one preexisting bug: CMM-1214

To elaborate on my original request for an integration PR, I primarily wanted to ensure an integration would merge relatively quickly after we merge the GutenbergKit (GBK) PR to avoid breaking changes in the GBK library blocking other GBK work. Sorry if I did not communicate that clearly enough previously. Thank you for beginning this work nonetheless.

.package(url: "https://github.com/wordpress-mobile/NSURL-IDN", revision: "b34794c9a3f32312e1593d4a3d120572afa0d010"),
.package(url: "https://github.com/zendesk/support_sdk_ios", from: "8.0.3"),
.package(url: "https://github.com/wordpress-mobile/GutenbergKit", from: "0.13.1"),
.package(url: "https://github.com/wordpress-mobile/GutenbergKit", revision: "7a48d8756f33e3d25daa1fff5843d5cd6fdda887"),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we are ready, we can integrate a GBK prerelease. We'll publish the prerelease via make release VERSION_TYPE=preminor DRY_RUN=true on GBK's trunk branch.

let configuration = EditorConfigurationBuilder(
content: initialContent ?? "",
postType: "comment",
postType: .init(postType: "comment", restBase: "comments"), // FIXME: "comment" is not a post type.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we feel compelled to "fix" the post type, we might also consider fixing the site URL and API root. GBK currently requires all of these, but effectively discards them when "offline mode" is enabled.

For context, this comment editor is currently unused.

@crazytonyli
Copy link
Contributor Author

I primarily wanted to ensure an integration would merge relatively quickly after we merge the GutenbergKit (GBK) PR to avoid breaking changes in the GBK library blocking other GBK work.

Absolutely. I will not merge the GBK PR until this PR is ready.

@crazytonyli crazytonyli changed the title Prototype custom post types local Support editing custom posts Feb 4, 2026
@crazytonyli crazytonyli force-pushed the prototype-custom-post-types-local branch 2 times, most recently from 6a6c440 to 33deb2f Compare February 8, 2026 21:32
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Feb 8, 2026

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 Number30917
VersionPR #25208
Bundle IDorg.wordpress.alpha
Commitb167166
Installation URL2qe2k2ljml9cg
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Feb 8, 2026

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 Number30917
VersionPR #25208
Bundle IDcom.jetpack.alpha
Commitb167166
Installation URL5mdv4bovbmu88
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

Base automatically changed from prototype-custom-post-types to trunk February 10, 2026 03:29
@crazytonyli crazytonyli force-pushed the prototype-custom-post-types-local branch from 8e6668a to 8a4c6b0 Compare February 10, 2026 07:36
@crazytonyli crazytonyli added this to the 26.7 milestone Feb 10, 2026
@crazytonyli crazytonyli marked this pull request as ready for review February 10, 2026 07:44
Copy link
Member

@dcalhoun dcalhoun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes tested well for me overall. I was able to create/edit/update/publish posts, pages, and "books" post types.

I left a few inline suggestions and questions worth considering.

Also, I note the CPT header lacks bottom padding matching the post/page header. Additionally, the CPT more menu does not support all the options of the post/page header, but this may already be a known limitation. See images below.

CPT vs post header
CPT Post
Image Image
Image Image

Comment on lines 79 to +80
// TODO: Check if the post supports Gutenberg first?
CustomPostEditor(client: client, post: post, details: details, blog: blog) {
Task {
_ = try await service.posts().refreshPost(postId: post.id, endpointType: endpoint)
}
}
CustomPostEditor(client: client, post: post, details: details, blog: blog)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We briefly discussed this before (see p1769044197504499-slack-C08UN8YN6KW), but editing classic posts with GBK is less useful at the moment. How difficult might it be to open these classic CPT entries in Aztec? I'm guessing it may be difficult. Alternatively, should we detect them and disallow editing them and display a more helpful notice?

Custom post type editing only supports posts created with the block editor at this time. This post appears to contain incompatible content.

Classic CPT

Image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call! That's related to the TODO in this code. Are there any reasonable ways to detect if the post is "classic"?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe we've relied upon the existing containsGutenbergBlocks logic in the past. Unfortunately, I do not believe there is a more reliable indicator available.

@crazytonyli
Copy link
Contributor Author

@dcalhoun Thanks for the review. I have addressed all your comments.

@crazytonyli
Copy link
Contributor Author

Additionally, the CPT more menu does not support all the options of the post/page header, but this may already be a known limitation.

Yeah, we don't support preview and post settings yet.

Copy link
Member

@dcalhoun dcalhoun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Latest changes work well for me. Addressed my prior findings. Thanks!

It's likely worthwhile awaiting Jeremy's feedback.

@crazytonyli crazytonyli force-pushed the prototype-custom-post-types-local branch from efda525 to 41807d8 Compare February 11, 2026 21:05
@kean
Copy link
Contributor

kean commented Feb 12, 2026

The code looks good, but I was not able to verify it because the list of custom posts on my site doesn't appear to sync. The logs show that it sends the request to get the IDs of the post but never fetches the details for these posts and never shows them in the list. It does work in more recent PRs.

Screenshot 2026-02-12 at 3 09 40 PM

@crazytonyli
Copy link
Contributor Author

@kean I couldn't reproduce the issue. This PR does not change posts list. Can you try #25233? If you can reproduce the issue, can you share the Xcode console log?

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants