PluginProbe
Gutenberg / 22.7.0
Gutenberg v22.7.0
24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 All 403 releases
← All changes | lib/compat/wordpress-7.0/rest-api.php +12 -12 23.6.2 → 22.7.0 View file →
@@ -117,23 +117,23 @@
117 117 }
118 118 add_filter( 'rest_prepare_theme', 'gutenberg_rest_theme_global_styles_link_rel_7_0', 10, 2 );
119 119
120 120 /**
121 - * Overrides the default REST controller for revisions to support nested
122 - * _fields parameters (e.g. content.raw without content.rendered).
121 + * Overrides the default REST controller for autosaves to fix real-time
122 + * collaboration on draft posts.
123 123 *
124 - * The core WP_REST_Revisions_Controller uses in_array() checks for content,
125 - * title, excerpt, and guid fields, which prevents sub-field filtering via
126 - * the _fields parameter. The Gutenberg override uses rest_is_field_included()
127 - * so that clients can avoid expensive server-side rendering when only raw
128 - * data is needed.
124 + * When RTC is enabled, draft autosaves from all users update the post directly
125 + * instead of creating per-user autosave revisions depending on post lock and
126 + * assigned author.
129 127 *
130 - * Only overrides when revisions_rest_controller_class is not explicitly set.
128 + * Only overrides when autosave_rest_controller_class is not explicitly set,
129 + * i.e. when WP_REST_Autosaves_Controller would be used by default. Post types
130 + * with their own specialized autosave controller (e.g. templates) are left alone.
131 131 */
132 -function gutenberg_override_revisions_rest_controller( $args ) {
133 - if ( empty( $args['revisions_rest_controller_class'] ) ) {
134 - $args['revisions_rest_controller_class'] = 'Gutenberg_REST_Revisions_Controller';
132 +function gutenberg_override_autosaves_rest_controller( $args ) {
133 + if ( empty( $args['autosave_rest_controller_class'] ) ) {
134 + $args['autosave_rest_controller_class'] = 'Gutenberg_REST_Autosaves_Controller';
135 135 }
136 136 return $args;
137 137 }
138 138
139 -add_filter( 'register_post_type_args', 'gutenberg_override_revisions_rest_controller', 10, 1 );
139 +add_filter( 'register_post_type_args', 'gutenberg_override_autosaves_rest_controller', 10, 1 );