Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block API: Block Context: Remove block filter #21921

Merged
merged 5 commits into from Apr 27, 2020
Merged

Conversation

@aduth
Copy link
Member

@aduth aduth commented Apr 27, 2020

Previously: #21868, #21467

This pull request seeks to revert more of the block context implementation introduced in #21467, effectively bypassing the pre_render_block filter introduced in #21467 altogether.

This is being proposed as a combination of:

  1. #21467 inadvertently regressed the behavior of render_block on inner blocks. The filter is only being run on the top-level blocks of a post content.
  2. Worries about additional overhead in WP_Block class construction

The pull request is proposed in a way which minimizes the changes necessary to bypass this filter to restore most of the behavior which existed prior to #21467. In doing so, it leaves some lingering unused code. This is done largely due to time constraints, given that Gutenberg 8.0.0RC is proposed to be published today (Monday April 27). It may be possible that this be refined in time for the final release, though it's not strictly necessary to do so.

Testing Instructions:

Repeat testing instructions from #21467. Optionally, it was made easier to test in later development of #21467, using the "Gutenberg Test Block Context" plugin included in the default development environment, via the associated "Test Context Provider" block.

To verify a fix of the issue reported in Slack:

  1. Create a post which includes a nested block, like a Group block with a paragraph in it.
  2. Preview the post
  3. Add a render_block filter somewhere in your local environment (see patch below)
  4. Verify that the filter is called for both the outer and inner blocks (in the patch example, you should see both "core/group" and "core/paragraph", not just "core/group" like you see in the current master).
diff --git a/lib/compat.php b/lib/compat.php
index e38f339030..cc5686d35e 100644
--- a/lib/compat.php
+++ b/lib/compat.php
@@ -177,0 +178,5 @@ function gutenberg_get_post_from_context() {
+
+add_filter( 'render_block', function( $block_content, $block ) {
+	var_export( $block['blockName'] );
+	return $block_content;
+}, 10, 2 );
@github-actions
Copy link

@github-actions github-actions bot commented Apr 27, 2020

Size Change: 0 B

Total Size: 817 kB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.02 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 4.08 kB 0 B
build/autop/index.js 2.82 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.23 kB 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 761 B 0 B
build/block-editor/index.js 106 kB 0 B
build/block-editor/style-rtl.css 10.2 kB 0 B
build/block-editor/style.css 10.2 kB 0 B
build/block-library/editor-rtl.css 7.05 kB 0 B
build/block-library/editor.css 7.05 kB 0 B
build/block-library/index.js 112 kB 0 B
build/block-library/style-rtl.css 7.14 kB 0 B
build/block-library/style.css 7.14 kB 0 B
build/block-library/theme-rtl.css 683 B 0 B
build/block-library/theme.css 685 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/index.js 179 kB 0 B
build/components/style-rtl.css 16.9 kB 0 B
build/components/style.css 16.9 kB 0 B
build/compose/index.js 6.66 kB 0 B
build/core-data/index.js 11.4 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.42 kB 0 B
build/date/index.js 5.47 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 3.1 kB 0 B
build/edit-navigation/index.js 3.54 kB 0 B
build/edit-navigation/style-rtl.css 485 B 0 B
build/edit-navigation/style.css 485 B 0 B
build/edit-post/index.js 27.8 kB 0 B
build/edit-post/style-rtl.css 12.3 kB 0 B
build/edit-post/style.css 12.3 kB 0 B
build/edit-site/index.js 11 kB 0 B
build/edit-site/style-rtl.css 5.26 kB 0 B
build/edit-site/style.css 5.25 kB 0 B
build/edit-widgets/index.js 8.33 kB 0 B
build/edit-widgets/style-rtl.css 5 kB 0 B
build/edit-widgets/style.css 5 kB 0 B
build/editor/editor-styles-rtl.css 428 B 0 B
build/editor/editor-styles.css 431 B 0 B
build/editor/index.js 43.4 kB 0 B
build/editor/style-rtl.css 3.27 kB 0 B
build/editor/style.css 3.27 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.63 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.12 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/media-utils/index.js 5.29 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.67 kB 0 B
build/primitives/index.js 1.5 kB 0 B
build/priority-queue/index.js 789 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.8 kB 0 B
build/server-side-render/index.js 2.68 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.02 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.18 kB 0 B

compressed-size-action

@aduth aduth merged commit 71d0319 into master Apr 27, 2020
3 checks passed
@aduth aduth deleted the revert/render-block-context branch Apr 27, 2020
nicolad added a commit that referenced this issue May 9, 2020
* Block API: Block Context: Remove block render filtering

* E2E Tests: Remove verification of server-side context rendering

* Block API: Block Context: Remove block filter

* E2E Tests: Block Context: Remove preview test case

* E2E Tests: Block Context: Skip preview test
@ellatrix ellatrix mentioned this pull request Jun 16, 2020
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants