Skip to content

Make RTC opt-in / off-by-default#11289

Closed
chriszarate wants to merge 7 commits intoWordPress:trunkfrom
chriszarate:feat/rtc-off-by-default
Closed

Make RTC opt-in / off-by-default#11289
chriszarate wants to merge 7 commits intoWordPress:trunkfrom
chriszarate:feat/rtc-off-by-default

Conversation

@chriszarate
Copy link

@chriszarate chriszarate commented Mar 18, 2026

Per the comment in Core Slack, we are moving the real-time collaboration feature to opt-in / off-by-default for 7.0 RC 1. Thank you to everyone who provided feedback during the testing period.

Note that we are intentionally changing the option name so that it will be off-by-default for everyone, including those that installed a beta release where the feature was on-by-default.

Trac ticket: https://core.trac.wordpress.org/ticket/64845

@aaronjorbin
Copy link
Member

Per the conversation in Core Slack

Can you link to this conversation?

@github-actions
Copy link

github-actions bot commented Mar 18, 2026

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props czarate, peterwilsoncc, jorbin, ellatrix.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@chriszarate
Copy link
Author

Can you link to this conversation?

Apologies, description has been updated.

@github-actions
Copy link

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

Copy link
Contributor

@peterwilsoncc peterwilsoncc left a comment

Choose a reason for hiding this comment

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

I've added a couple of notes inline. I'm doing some manual testing now.

*
* @return bool True if real-time collaboration is enabled, false otherwise.
*/
function wp_is_collaboration_enabled() {
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's keep the addition of this function for the table PR and just use get_option() for now.

How we handle availability might need some fine tuning.

Copy link
Member

@aaronjorbin aaronjorbin left a comment

Choose a reason for hiding this comment

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

I don't love all the churn from renaming the option especially with RC1 less than 24 hours away.

I also want to express that shipping a new feature that is disabled by default feels like it violates the clean, lean, and mean philosophy and isn't something that I think WordPress should ever do.

@peterwilsoncc
Copy link
Contributor

I don't love all the churn from renaming the option especially with RC1 less than 24 hours away.

I think the diff looks a little higher churn than it is for two reasons:

  1. The alignment CS rule blows up the schema changes with whitespace changes
  2. The endpoint is removed from the rest api generated file.

Without those changes the PR is about +30,-20

Copy link
Contributor

@peterwilsoncc peterwilsoncc left a comment

Choose a reason for hiding this comment

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

I'm happy with this, @chriszarate are you happy with the changes I pushed?

global $pagenow;

if ( ! get_option( 'wp_enable_real_time_collaboration' ) ) {
if ( ! (bool) get_option( 'wp_collaboration_enabled' ) ) {
Copy link
Member

Choose a reason for hiding this comment

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

is the (bool) necessary since this is doing a truthy/falsy check anyway?

self::$post_id = $factory->post->create( array( 'post_author' => self::$editor_id ) );

// Enable option in setUpBeforeClass to ensure REST routes are registered.
update_option( 'wp_collaboration_enabled', 1 );
Copy link
Member

Choose a reason for hiding this comment

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

This feels redundant with it also being done in set_up

Copy link
Author

Choose a reason for hiding this comment

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

It is needed for the reason noted in the comment.

@chriszarate
Copy link
Author

I'm happy with this, @chriszarate are you happy with the changes I pushed?

Yes, they look fine. Thank you. I agree with @aaronjorbin that the (bool) coercion is unnecessary, but also not harmful.

@ellatrix
Copy link
Member

Thank you. I'm going to commit this.

pento pushed a commit that referenced this pull request Mar 19, 2026
See: https://wordpress.slack.com/archives/C07NVJ51X6K/p1773850504196589.

We are intentionally changing the option name so that it will be off-by-default for everyone, including those that installed a beta release where the feature was on-by-default.

Developed in: #11289.

Fixes #64845.
Props czarate, peterwilsoncc, jorbin.

git-svn-id: https://develop.svn.wordpress.org/trunk@62058 602fd350-edb4-49c9-b593-d223f7449a82
@github-actions
Copy link

A commit was made that fixes the Trac ticket referenced in the description of this pull request.

SVN changeset: 62058
GitHub commit: 85cc3de

This PR will be closed, but please confirm the accuracy of this and reopen if there is more work to be done.

@github-actions github-actions bot closed this Mar 19, 2026
markjaquith pushed a commit to WordPress/WordPress that referenced this pull request Mar 19, 2026
See: https://wordpress.slack.com/archives/C07NVJ51X6K/p1773850504196589.

We are intentionally changing the option name so that it will be off-by-default for everyone, including those that installed a beta release where the feature was on-by-default.

Developed in: WordPress/wordpress-develop#11289.

Fixes #64845.
Props czarate, peterwilsoncc, jorbin.
Built from https://develop.svn.wordpress.org/trunk@62058


git-svn-id: http://core.svn.wordpress.org/trunk@61340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
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.

4 participants