Skip to content

RTC: [Interface] Allow limiting Real-Time Collaboration to specific post statuses #77431

Description

@smithjw1

What problem does this address?

Similar to #75072, it is currently difficult for sites with strict standards on published content to adopt real-time collaboration safely. Real-time collaboration is an all-or-nothing feature.

Since changes to published content are immediately available, it is more likely that unintended content becomes publicly available during editing.

What is your proposed solution?

A pre-publish panel that temporarily locks all other users out of making changes when a user clicks to Publish a draft post, or "Save" a published post.

The user initiating the action can still make edits, but all other users are either put into a read-only mode (that would have to be built) or directed back to the post list.

Alternatively, we could provide a mechanism for developers to opt specific post statuses out of real-time collaboration. RTC would remain enabled by default for all post statuses, but developers could disable it where needed.

A filter hook would offer the most flexibility:

add_filter( 'gutenberg_rtc_enabled_for_post_status', function( $enabled, $post_status ) {
// Disable RTC for the 'publishd' post status
if ( 'published' === $post_status ) {
return false;
}
return $enabled;
}, 10, 2 );

Activity

  1. aaronjorbin commented on Apr 16, 2026

    @aaronjorbin
    Member

    Rather than a specific filter for post_status, I think it might make more sense to use the full $post object since that allows for much finer control and won't lead to needing multiple different filters.

  2. smithjw1 commented on Apr 16, 2026

    @smithjw1
    ContributorAuthor

    Agreed if we go with the filter route, but I think a pre-publish mode will be more generally useful.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions