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

Multi-entity saving: Allow publishing a post while not saving changes to non-post entities #37383

Merged
merged 3 commits into from
Dec 16, 2021

Conversation

stacimc
Copy link
Contributor

@stacimc stacimc commented Dec 14, 2021

Fixes #36096

Description

This PR provides a quick fix for a bug which makes it impossible to publish a new post that makes changes to non-post entities (like a template part or the Site Logo), but does not save them. Eg:

  • Create a new post
  • Add a Site Logo block
  • Update the image in the Site Logo
  • Click 'Publish', and deselect 'Site Logo' in the pre-publish panel
  • Click Save, then Publish.

This PR resolves the error by checking for the existence of the setEntitiesSavedStatesCallback prop before attempting to open the pre-publish panel.

Explanation of the bug

We were getting an error at this line. The problem is that when the Publish button is clicked, we check hasNonPostEntityChanges to see if there are changes to non-post entities, and then perform some logic to open the pre-publish panel that allows you to check what entities you'd like saved (see screenshot). But if those entities aren't saved (user deselected them), they will still be dirty and the logic will attempt to run again when you hit Publish the second time.

When the Publish button is rendered the second time, it's rendered by the PostPublishPanel and the setEntitiesSavedStatesCallback prop is not passed. It's the absence of this prop (which is used to open the pre-publish panel) that causes the error. Notably it doesn't make sense to pass it here, since at this point we don't expect to open that panel.

How has this been tested?

It is important to always test with a new post, publishing for the first time.
Verify that you can reproduce the bug on trunk. Then:

Test that you can publish while deselecting non-post Entities

  • Create a new post and add a Site Logo block
  • Update the image in the Site Logo
  • Click Publish and deselect Site Logo. Hit Save, then Publish again.
  • Verify that the post was published and any changes other than the Site Logo were saved. Verify that the post is still dirty (the Update button can be clicked), and shows the option to save Site Logo.

Test that you can publish when you do save non-post Entities

  • Create a new post and add a Site Logo block.
  • Update the image in the Site Logo
  • Click Publish and do not deselect anything. Hit Save then Publish
  • Verify the post was published and changes to Site Logo were saved.

Screenshots

Screen Shot 2021-12-14 at 11 55 22 AM

Types of changes

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

@stacimc stacimc added [Type] Bug An existing feature does not function as intended [Package] Editor /packages/editor labels Dec 14, 2021
@stacimc stacimc self-assigned this Dec 14, 2021
@stacimc stacimc force-pushed the fix/publish-post-with-nonpostEntities-deselected branch from 9b901e9 to 9538d1c Compare December 14, 2021 19:57
@github-actions
Copy link

github-actions bot commented Dec 14, 2021

Size Change: +969 B (0%)

Total Size: 1.13 MB

Filename Size Change
build/block-editor/index.min.js 140 kB +159 B (0%)
build/block-editor/style-rtl.css 14.6 kB +37 B (0%)
build/block-editor/style.css 14.6 kB +37 B (0%)
build/block-library/blocks/columns/style-rtl.css 502 B -1 B (0%)
build/block-library/blocks/columns/style.css 501 B -1 B (0%)
build/block-library/common-rtl.css 910 B +53 B (+6%) 🔍
build/block-library/common.css 908 B +52 B (+6%) 🔍
build/block-library/editor-rtl.css 10.1 kB +53 B (+1%)
build/block-library/editor.css 10.1 kB +54 B (+1%)
build/block-library/index.min.js 163 kB +297 B (0%)
build/block-library/style-rtl.css 10.8 kB +54 B (+1%)
build/block-library/style.css 10.8 kB +55 B (+1%)
build/block-library/theme-rtl.css 675 B +3 B (0%)
build/block-library/theme.css 679 B +2 B (0%)
build/components/index.min.js 214 kB -311 B (0%)
build/compose/index.min.js 11.2 kB +247 B (+2%)
build/edit-site/index.min.js 35.5 kB +97 B (0%)
build/edit-site/style-rtl.css 6.63 kB +40 B (+1%)
build/edit-site/style.css 6.63 kB +41 B (+1%)
build/editor/index.min.js 37.9 kB +1 B (0%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 960 B
build/admin-manifest/index.min.js 1.1 kB
build/annotations/index.min.js 2.75 kB
build/api-fetch/index.min.js 2.21 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.28 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 470 B
build/block-library/blocks/button/editor.css 470 B
build/block-library/blocks/button/style-rtl.css 560 B
build/block-library/blocks/button/style.css 560 B
build/block-library/blocks/buttons/editor-rtl.css 291 B
build/block-library/blocks/buttons/editor.css 291 B
build/block-library/blocks/buttons/style-rtl.css 275 B
build/block-library/blocks/buttons/style.css 275 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 134 B
build/block-library/blocks/code/theme.css 134 B
build/block-library/blocks/columns/editor-rtl.css 210 B
build/block-library/blocks/columns/editor.css 208 B
build/block-library/blocks/comment-template/style-rtl.css 127 B
build/block-library/blocks/comment-template/style.css 127 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 547 B
build/block-library/blocks/cover/style-rtl.css 1.22 kB
build/block-library/blocks/cover/style.css 1.22 kB
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 417 B
build/block-library/blocks/embed/style.css 417 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 322 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 966 B
build/block-library/blocks/gallery/editor.css 970 B
build/block-library/blocks/gallery/style-rtl.css 1.63 kB
build/block-library/blocks/gallery/style.css 1.62 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 114 B
build/block-library/blocks/heading/style.css 114 B
build/block-library/blocks/html/editor-rtl.css 332 B
build/block-library/blocks/html/editor.css 333 B
build/block-library/blocks/image/editor-rtl.css 810 B
build/block-library/blocks/image/editor.css 809 B
build/block-library/blocks/image/style-rtl.css 507 B
build/block-library/blocks/image/style.css 511 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 94 B
build/block-library/blocks/list/style.css 94 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 493 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 649 B
build/block-library/blocks/navigation-link/editor.css 650 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 299 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation-submenu/view.min.js 343 B
build/block-library/blocks/navigation/editor-rtl.css 1.91 kB
build/block-library/blocks/navigation/editor.css 1.91 kB
build/block-library/blocks/navigation/style-rtl.css 1.71 kB
build/block-library/blocks/navigation/style.css 1.7 kB
build/block-library/blocks/navigation/view.min.js 2.79 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 172 B
build/block-library/blocks/page-list/style.css 172 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 273 B
build/block-library/blocks/paragraph/style.css 273 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/style-rtl.css 446 B
build/block-library/blocks/post-comments-form/style.css 446 B
build/block-library/blocks/post-comments/style-rtl.css 507 B
build/block-library/blocks/post-comments/style.css 507 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 721 B
build/block-library/blocks/post-featured-image/editor.css 721 B
build/block-library/blocks/post-featured-image/style-rtl.css 153 B
build/block-library/blocks/post-featured-image/style.css 153 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 391 B
build/block-library/blocks/post-template/style.css 392 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 80 B
build/block-library/blocks/post-title/style.css 80 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 389 B
build/block-library/blocks/pullquote/style.css 388 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 273 B
build/block-library/blocks/query-pagination/style.css 269 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 187 B
build/block-library/blocks/quote/style.css 187 B
build/block-library/blocks/quote/theme-rtl.css 223 B
build/block-library/blocks/quote/theme.css 226 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 397 B
build/block-library/blocks/search/style.css 398 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 245 B
build/block-library/blocks/separator/style.css 245 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 772 B
build/block-library/blocks/site-logo/editor.css 772 B
build/block-library/blocks/site-logo/style-rtl.css 165 B
build/block-library/blocks/site-logo/style.css 165 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 177 B
build/block-library/blocks/social-link/editor.css 177 B
build/block-library/blocks/social-links/editor-rtl.css 670 B
build/block-library/blocks/social-links/editor.css 669 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB
build/block-library/blocks/social-links/style.css 1.32 kB
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/editor-rtl.css 560 B
build/block-library/blocks/template-part/editor.css 559 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 569 B
build/block-library/blocks/video/editor.css 570 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/blocks/index.min.js 46.3 kB
build/components/style-rtl.css 15.5 kB
build/components/style.css 15.5 kB
build/core-data/index.min.js 13.2 kB
build/customize-widgets/index.min.js 11.4 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 631 B
build/data/index.min.js 7.49 kB
build/date/index.min.js 31.9 kB
build/deprecated/index.min.js 485 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.5 kB
build/edit-navigation/index.min.js 16 kB
build/edit-navigation/style-rtl.css 3.76 kB
build/edit-navigation/style.css 3.76 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-post/index.min.js 29.4 kB
build/edit-post/style-rtl.css 7.1 kB
build/edit-post/style.css 7.09 kB
build/edit-widgets/index.min.js 16.5 kB
build/edit-widgets/style-rtl.css 4.18 kB
build/edit-widgets/style.css 4.18 kB
build/editor/style-rtl.css 3.78 kB
build/editor/style.css 3.77 kB
build/element/index.min.js 3.29 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 6.58 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.63 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.71 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.8 kB
build/keycodes/index.min.js 1.39 kB
build/list-reusable-blocks/index.min.js 1.72 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.92 kB
build/notices/index.min.js 925 B
build/nux/index.min.js 2.08 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.84 kB
build/primitives/index.min.js 924 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/react-refresh-entry/index.min.js 8.44 kB
build/react-refresh-runtime/index.min.js 7.31 kB
build/redux-routine/index.min.js 2.65 kB
build/reusable-blocks/index.min.js 2.22 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 11 kB
build/server-side-render/index.min.js 1.57 kB
build/shortcode/index.min.js 1.49 kB
build/token-list/index.min.js 639 B
build/url/index.min.js 1.9 kB
build/viewport/index.min.js 1.05 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 7.15 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@ramonjd
Copy link
Member

ramonjd commented Dec 15, 2021

Nice work @stacimc This is working well for me so far and an improvement on the current experience.

Kapture 2021-12-15 at 10 57 01

✅ When I deselect the site entity the post saves, but the site logo is not set (checked in the Customizer).
✅ Similarly when I deselect the post entity (but leave the site entity checked) the site logo is saved.
✅ Leaving both checked saves the post and site entities as expected.

@ramonjd ramonjd requested a review from ockham December 15, 2021 00:07
@paaljoachim
Copy link
Contributor

paaljoachim commented Dec 15, 2021

Thank you @stacimc Staci!
This is a very helpful PR!

Testing the PR Gutenberg Build.
Chrome - Desktop Server.
OSX 11.6.1
Theme: Twenty Twenty Two

1- Made a new post.
2- Added the Site Logo block and added an image.
3- Clicked Publish and deselected the Site Logo.

Before:
Site - Logo block
Post - (showing post title)
Deselecting the Site Logo Block. Save button is active. Clicking Save leads to next screen with Publish button and the dot in the Publish button. The Publish button is not active. One is stuck.

After - This PR:
Site - Logo block
Post - (showing post title)
Deselecting the Site Logo Block. Save button is active. Clicking Save leads to next screen with Publish button and the dot in the Publish button. The Publish button is active/clickable. One can move onward and publish the post. Moving onward. Back to regular sidebar area. There is now a dot and the button "Update...". Clicking Update leads to the Save screen where Site Logo is active.

4- Clicked Save.
5- Clicked Publish.
6- Post published and one can move onward.
7- Button says "Update..."
8- Clicking Update leads to the Save screen where the Site Logo block shows up and wants to be saved.
9- Opened a new tab and went to the All Posts screen. The post was published. Going to edit the post the Site Logo block is seen but with no image. (The site does not use an image logo).

1- Creating a new post.
2- Added a Site Logo block. Added an image.
3- Clicked Publish (see the dot in the Publish button).
4- Clicked Save (did not uncheck Site - Logo or Post - (post title) )
5- Clicked Publish.
6- Changes to Site Logo was changed.


One is not stuck in the Publish process when a Site item such as the Site Logo block is unchecked.
One can move on and Publish the post.

@paaljoachim paaljoachim 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 Dec 15, 2021
@paaljoachim
Copy link
Contributor

I added the Backport label as I assume this PR will be backported to WP 5.9. (If it is merged within short period of time.)

@ockham
Copy link
Contributor

ockham commented Dec 15, 2021

Nice! 🎉 I'll test in a moment. Chipping in my (unfinished) e2e test: #37408

@ockham
Copy link
Contributor

ockham commented Dec 15, 2021

Adding that we should also test the Site Editor after modifying the multi-entity saving logic.

  • Select a block-based theme, such as TT1 Blocks.
  • Open the Site Editor to edit the Index template.
  • In the header, modify the site title.
  • In the header, add a new paragraph block with some content.
  • At template level, add a new paragraph block with some content.
  • Click 'Save', and try to save with different combinations of unselected entities.

Seems to work well! 🎉

Copy link
Contributor

@ockham ockham left a comment

Choose a reason for hiding this comment

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

This LGTM! (Though we might wanna apply @ramonjd's typo fix.)

Thanks for the great explanation and the fix! This is both helpful in the short-term and longer-term, if we end up refactoring some of the logic at some point.

Co-authored-by: Ramon <ramonjd@users.noreply.github.com>
@stacimc
Copy link
Contributor Author

stacimc commented Dec 16, 2021

Thanks for all the reviews! Updated to include the typo fix :)

Adding that we should also test the Site Editor after modifying the multi-entity saving logic.

@ockham I tested making changes to multiple entities and saving them individually in the site editor (eg: modify several template parts and the Site Logo, test saving everything but the Site Logo), and this is working for me. Anything else you were thinking of to test here?

I would like to get the e2e tests in #37408 in with this PR, but I took a look to see if I could help with the false positive and I'm afraid I'm stumped. Are you comfortable merging this without the tests for now?

@ockham
Copy link
Contributor

ockham commented Dec 16, 2021

Adding that we should also test the Site Editor after modifying the multi-entity saving logic.

@ockham I tested making changes to multiple entities and saving them individually in the site editor (eg: modify several template parts and the Site Logo, test saving everything but the Site Logo), and this is working for me. Anything else you were thinking of to test here?

Not really -- that sounds pretty good :)

I would like to get the e2e tests in #37408 in with this PR, but I took a look to see if I could help with the false positive and I'm afraid I'm stumped. Are you comfortable merging this without the tests for now?

Yeah, let's merge this as-is -- I'd rather not have it blocked by the tests, since it could take a while to sort those out, and I think we want to backport this PR to Core sooner rather than later.

@stacimc stacimc merged commit 7cbba26 into trunk Dec 16, 2021
@stacimc stacimc deleted the fix/publish-post-with-nonpostEntities-deselected branch December 16, 2021 18:42
@github-actions github-actions bot added this to the Gutenberg 12.3 milestone Dec 16, 2021
@tellthemachines tellthemachines 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 Dec 21, 2021
tellthemachines pushed a commit that referenced this pull request Dec 21, 2021
… to non-post entities (#37383)

* Check for existence of setEntititesSavedStatesCallback prop

* Clean up props destructuring

* Update packages/editor/src/components/post-publish-button/index.js

Co-authored-by: Ramon <ramonjd@users.noreply.github.com>

Co-authored-by: Ramon <ramonjd@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Editor /packages/editor [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Multi-entity saving: Cannot publish a post with site entity deselected
5 participants