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

Editor: Shim meta attributes for early block registrations #20544

Merged
merged 3 commits into from
Feb 28, 2020

Conversation

aduth
Copy link
Member

@aduth aduth commented Feb 28, 2020

Fixes #20494

This pull request seeks to resolve an issue where blocks which are registered early and use the (now-deprecated) meta attribute source would fail to apply the compatibility shims introduced between #17153 and #20494.

Testing Instructions:

There are two ways to test:

Per #20494, following the meta block tutorial should yield a plugin with code such as in the following gist:

https://gist.github.com/aduth/9953fdd7676ce080ab24c2c8a85ae783

From the page, you may be able to Download zip to download a ZIP to use as plugin.

Otherwise, you can use the now-updated "Meta Attribute Block" Gutenberg test plugin to verify the behavior. You can do this as a user if you are using the default development environment by activating the plugin from the Plugins screen.

You can ensure the end-to-end tests pass:

npm run test-e2e packages/e2e-tests/specs/editor/plugins/meta-attribute-block.test.js

@github-actions
Copy link

github-actions bot commented Feb 28, 2020

Size Change: +34 B (0%)

Total Size: 866 kB

Filename Size Change
build/editor/index.js 44.6 kB +34 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.01 kB 0 B
build/annotations/index.js 3.43 kB 0 B
build/api-fetch/index.js 3.39 kB 0 B
build/autop/index.js 2.58 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.02 kB 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 760 B 0 B
build/block-editor/index.js 104 kB 0 B
build/block-editor/style-rtl.css 10.5 kB 0 B
build/block-editor/style.css 10.5 kB 0 B
build/block-library/editor-rtl.css 7.66 kB 0 B
build/block-library/editor.css 7.66 kB 0 B
build/block-library/index.js 116 kB 0 B
build/block-library/style-rtl.css 7.49 kB 0 B
build/block-library/style.css 7.5 kB 0 B
build/block-library/theme-rtl.css 669 B 0 B
build/block-library/theme.css 671 B 0 B
build/block-serialization-default-parser/index.js 1.65 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 57.6 kB 0 B
build/components/index.js 191 kB 0 B
build/components/style-rtl.css 15.5 kB 0 B
build/components/style.css 15.5 kB 0 B
build/compose/index.js 5.76 kB 0 B
build/core-data/index.js 10.5 kB 0 B
build/data-controls/index.js 1.03 kB 0 B
build/data/index.js 8.22 kB 0 B
build/date/index.js 5.37 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.06 kB 0 B
build/edit-post/index.js 90.9 kB 0 B
build/edit-post/style-rtl.css 8.54 kB 0 B
build/edit-post/style.css 8.54 kB 0 B
build/edit-site/index.js 4.63 kB 0 B
build/edit-site/style-rtl.css 2.51 kB 0 B
build/edit-site/style.css 2.51 kB 0 B
build/edit-widgets/index.js 4.42 kB 0 B
build/edit-widgets/style-rtl.css 2.59 kB 0 B
build/edit-widgets/style.css 2.58 kB 0 B
build/editor/editor-styles-rtl.css 325 B 0 B
build/editor/editor-styles.css 327 B 0 B
build/editor/style-rtl.css 4.01 kB 0 B
build/editor/style.css 4 kB 0 B
build/element/index.js 4.45 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.6 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 1.92 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.48 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.3 kB 0 B
build/keycodes/index.js 1.68 kB 0 B
build/list-reusable-blocks/index.js 2.99 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 4.85 kB 0 B
build/notices/index.js 1.57 kB 0 B
build/nux/index.js 3.02 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.54 kB 0 B
build/primitives/index.js 1.49 kB 0 B
build/priority-queue/index.js 780 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.3 kB 0 B
build/server-side-render/index.js 2.54 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4 kB 0 B
build/viewport/index.js 1.61 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 added the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Feb 28, 2020
@aduth aduth force-pushed the fix/20494-meta-attribute-load-order branch from 0ee9496 to 6ca77f4 Compare February 28, 2020 22:51
@aduth aduth merged commit dc4c3a6 into master Feb 28, 2020
@aduth aduth deleted the fix/20494-meta-attribute-load-order branch February 28, 2020 23:13
@github-actions github-actions bot added this to the Gutenberg 7.7 milestone Feb 28, 2020
@mrleemon
Copy link
Contributor

use the (now-deprecated) meta attribute source

So, is source: 'meta' not valid anymore? How are we supposed to tell the editor that an attribute comes from a meta field registered via register_post_meta(), now?

@mcsf
Copy link
Contributor

mcsf commented Mar 2, 2020

@mrleemon: There is a dev note in the works (edit: published here) which will be published in the next days (see their drafting). The quick answer is that you can now use:

const [ meta, setMeta ] = useEntityProp( 'postType', 'post', 'meta' );

Although, to be clear, the shim in question in this PR is there so that nothing breaks overnight. It just means that source: 'meta' is to be considered deprecated starting with WordPress 5.4.

jorgefilipecosta pushed a commit that referenced this pull request Mar 2, 2020
* Editor: Shim meta attributes for early block registrations

* E2E Tests: Add meta block early registration test

* Editor: Clarify comment regarding meta attribute shim
jorgefilipecosta pushed a commit that referenced this pull request Mar 2, 2020
* Editor: Shim meta attributes for early block registrations

* E2E Tests: Add meta block early registration test

* Editor: Clarify comment regarding meta attribute shim
@jorgefilipecosta jorgefilipecosta removed the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Mar 3, 2020
@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
Labels
Backwards Compatibility Issues or PRs that impact backwards compatability [Package] Editor /packages/editor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Storing Post Meta with a Block is not working anymore (WordPress 5.4 beta)
5 participants