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

Fix pattern preview expanding height and scrollbar issues #38175

Merged
merged 9 commits into from
Jan 24, 2022

Conversation

Mamaduka
Copy link
Member

Description

Resolves #34729
Resolves #37573.

Description by @jasmussen

This PR fixes the scrollbar shown inside thumbnails and applies a bandaid to stop vh based patterns from endlessly expanding.
In testing, it became clear that 100vh equals the height of your browser. Inside an iframe, things are different. This StackOverflow question led me to this spec note:

The viewport-percentage lengths are relative to the size of the initial containing block. When the height or width of the initial containing block is changed, they are scaled accordingly.

That seems to suggest it’s very easy to create a race condition, as “initial containing block” can’t be properly sized until content inside is loaded.
Because of that, this PR applies a pixel based max-height. A tall one, and one that will let the VH based pattern scale until it reaches that max-limit, but nevertheless it should mitigate the issue.
As noted in comments in the code, a better fix might be apply a max-height based on the initial-content height. But due to the iframe scaling behavior, this seems nontrivial

How has this been tested?

I tested with TT2, Blockbase, and Blank Canvas themes. The "vertically expanding" issue was most visible with Blank Canvas.

Screenshots

  1. Using "Blank Canvas" open the Inserter > Patterns tab.
  2. Try switching between categories "Featured," "Blank Canvas" and "Links in Bio".
  3. Confirm that pattern previews don't expect vertically and that they don't have visible scrollbars.

Try similar testing method with different Classic and Block themes.

Types of changes

Bugfix

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).
  • I've updated related schemas if appropriate.

@Mamaduka Mamaduka added [Feature] Inserter The main way to insert blocks using the + button in the editing interface [Feature] Patterns A collection of blocks that can be synced (previously reusable blocks) or unsynced [Type] Bug An existing feature does not function as intended Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta labels Jan 24, 2022
@Mamaduka Mamaduka requested review from a team, talldan and carolinan and removed request for a team January 24, 2022 09:27
@Mamaduka Mamaduka changed the title Fix/expanding thumbnails Fix pattern preview expanding height and scrollbar issues Jan 24, 2022
@Mamaduka
Copy link
Member Author

Note: As a future follow-up, we might want to review useResizeObserver and the library it uses under the hood. Check if we can avoid similar race conditions when viewport units are used.

@github-actions
Copy link

github-actions bot commented Jan 24, 2022

Size Change: +78 B (0%)

Total Size: 1.13 MB

Filename Size Change
build/block-editor/index.min.js 141 kB +76 B (0%)
build/block-library/index.min.js 166 kB +2 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-editor/style-rtl.css 14.6 kB
build/block-editor/style.css 14.6 kB
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 150 B
build/block-library/blocks/audio/editor.css 150 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 292 B
build/block-library/blocks/buttons/editor.css 292 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 131 B
build/block-library/blocks/code/theme.css 131 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 406 B
build/block-library/blocks/columns/style.css 406 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 293 B
build/block-library/blocks/embed/editor.css 293 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 965 B
build/block-library/blocks/gallery/editor.css 967 B
build/block-library/blocks/gallery/style-rtl.css 1.6 kB
build/block-library/blocks/gallery/style.css 1.6 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 199 B
build/block-library/blocks/latest-posts/editor.css 198 B
build/block-library/blocks/latest-posts/style-rtl.css 447 B
build/block-library/blocks/latest-posts/style.css 446 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.99 kB
build/block-library/blocks/navigation/editor.css 2 kB
build/block-library/blocks/navigation/style-rtl.css 1.85 kB
build/block-library/blocks/navigation/style.css 1.84 kB
build/block-library/blocks/navigation/view.min.js 2.81 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 401 B
build/block-library/blocks/page-list/editor.css 402 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 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 521 B
build/block-library/blocks/post-comments/style.css 521 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 323 B
build/block-library/blocks/post-template/style.css 323 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 234 B
build/block-library/blocks/query-pagination/style.css 231 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 744 B
build/block-library/blocks/site-logo/editor.css 744 B
build/block-library/blocks/site-logo/style-rtl.css 181 B
build/block-library/blocks/site-logo/style.css 181 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 674 B
build/block-library/blocks/social-links/editor.css 673 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 332 B
build/block-library/blocks/spacer/editor.css 332 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 214 B
build/block-library/blocks/tag-cloud/style.css 215 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 571 B
build/block-library/blocks/video/editor.css 572 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/common-rtl.css 908 B
build/block-library/common.css 905 B
build/block-library/editor-rtl.css 10.1 kB
build/block-library/editor.css 10.1 kB
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-library/style-rtl.css 10.8 kB
build/block-library/style.css 10.8 kB
build/block-library/theme-rtl.css 672 B
build/block-library/theme.css 676 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.4 kB
build/components/index.min.js 215 kB
build/components/style-rtl.css 15.5 kB
build/components/style.css 15.5 kB
build/compose/index.min.js 11.2 kB
build/core-data/index.min.js 13.3 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 546 B
build/edit-post/classic.css 547 B
build/edit-post/index.min.js 29.6 kB
build/edit-post/style-rtl.css 7.15 kB
build/edit-post/style.css 7.14 kB
build/edit-site/index.min.js 37.7 kB
build/edit-site/style-rtl.css 6.85 kB
build/edit-site/style.css 6.84 kB
build/edit-widgets/index.min.js 16.5 kB
build/edit-widgets/style-rtl.css 4.17 kB
build/edit-widgets/style.css 4.17 kB
build/editor/index.min.js 38.4 kB
build/editor/style-rtl.css 3.71 kB
build/editor/style.css 3.71 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.75 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.58 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

@cbravobernal
Copy link
Contributor

WP Version: 5.9-beta3-52380
Gutenberg: trunk with branch fix/expanding-thumbnails
Steps done:

  • Install Blank Canvas theme
  • Go to post editor
  • Go to patterns
  • Used selector to switch between categories.
  • Screen height used for testing: 1380px

Conclusions:
It seems that enters into a height styles adjustment loop.

Screen.Recording.2022-01-24.at.11.08.21.mov

if ( styles ) {
return [
...styles,
{ css: 'body{overflow:hidden;}', __unstableType: 'presets' },
Copy link
Contributor

Choose a reason for hiding this comment

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

I left a comment over here, but just wanted to make sure you see it: #37573 (comment)

I think if we need to override a style in the iframe, it'd be good to also do something like height: unset, the reason being that height: 100% is what's causing the scrollbar for patterns.

I'm not sure if you also need overflow:hidden to fix the other issue. It seems ok in conjunction with overriding the height, but just overflow:hidden on its own causes patterns to be cropped unnecessarily.

Copy link
Contributor

Choose a reason for hiding this comment

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

Here's a comparison to show what I mean:

Just overflow: hidden on the preview body:
Screen Shot 2022-01-24 at 6 13 00 pm

height: unset and optionally overflow: hidden on the preview body:
Screen Shot 2022-01-24 at 6 11 40 pm

It's subtle, but you can see for the second one there's the correct spacing at the bottom of the preview when unsetting the height. My concern is that some patterns may be more affected than others by this effect.

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks, @talldan.

Added the rule to unset height.

@jasmussen
Copy link
Contributor

It seems that enters into a height styles adjustment loop.

Thanks for the video, that's helpful. I want to note I've seen that issue separately from the patterns panel, occasionally in the block inspector as well, so although a frustrating issue, I believe it's a separate one. Can you reproduce that one on trunk as well? In my past experience, the issue "goes away" by simply making the browser taller or shorter.

@Mamaduka
Copy link
Member Author

Thanks for testing, @c4rl0sbr4v0.

That might not be related to this fix. I've seen a similar issue before. Unfortunately, we can fix everything an hour before RC4.

Can you confirm that PR fixes the original issues?

@jasmussen
Copy link
Contributor

Thanks for working on this, thanks for pushing the fix. This is working well for me, and substantially better than trunk:

  • I see no scrollbars
  • I see no ever-expanding VH based patterns

I tested with a number of themes. TT2:
tt2

TT1 Blocks:

tt1blocks

TT1 (classic theme):
tt1

My own theme which has very crazy no-good margin rules:

own theme

One thing to keep in mind is that these thumbnails are subject to the editor styles that the theme loads into them. Which means if the theme (like my own) loads some crazy styles into the editor, they will affect thumbnails as well, and they might not look like "thumbnails".

The addition of overflow and max-height rules feel completely sensible to me, and act as guard-rails. For example this prank pattern could wreak havoc without any guard-rails:

<!-- wp:group {"style":{"color":{"background":"#ff0000"},"spacing":{"padding":{"top":"20px","right":"20px","bottom":"200vh","left":"20px"}}}} -->
<div class="wp-block-group has-background" style="background-color:#ff0000;padding-top:20px;padding-right:20px;padding-bottom:200vh;padding-left:20px"><!-- wp:paragraph -->
<p>Buy Acme™ Brand Space Suits!</p>
<!-- /wp:paragraph --></div>
<!-- /wp:group -->

A 200vh bottom padding would take up all the space of the pattern browser if we don't cap it. 1800px as a value was chosen because in my testing, it was sufficient for every pattern I could see. In the case of the above april fools pattern, the max-height would benefit from the overflow rule, ensuring no scrollbar appeared.

Because of the simplicity of the height, overflow and max-height rules added, and because it tests well for me, this feels like a good fix.

It could always use a ton of additional testing, looking specifically for patterns that have scrollbars or scale infinitely. In my testing, I couldn't find any.

@Mamaduka
Copy link
Member Author

Thank you, @ixkaito.

Do you mind opening a new PR against trunk? We won't be able to ship it with WP 5.9, but if it works, it would significantly improve the plugin

@ixkaito
Copy link
Contributor

ixkaito commented Jan 24, 2022

Thank you @Mamaduka ! Of course. I'll do it.

@ixkaito
Copy link
Contributor

ixkaito commented Jan 24, 2022

I re-sent the PR to trunk. Please check it. #38181

desrosj pushed a commit that referenced this pull request Jan 24, 2022
* Apply a 99vh max-height to the thumbnail.

* Polish

* Apply pixel based max-height.

* Don't apply overflow auto to all iframes

* Memoize editor styles

* Remove no need for iframe changes

* Unset height

* Apply max-height to container

* Update max-height

Co-authored-by: jasmussen <joen@automattic.com>
desrosj added a commit that referenced this pull request Jan 24, 2022
…38182)

* Apply a 99vh max-height to the thumbnail.

* Polish

* Apply pixel based max-height.

* Don't apply overflow auto to all iframes

* Memoize editor styles

* Remove no need for iframe changes

* Unset height

* Apply max-height to container

* Update max-height

Co-authored-by: jasmussen <joen@automattic.com>

Co-authored-by: George Mamadashvili <georgemamadashvili@gmail.com>
Co-authored-by: jasmussen <joen@automattic.com>
desrosj added a commit to desrosj/wordpress-develop that referenced this pull request Jan 24, 2022
desrosj added a commit to desrosj/wordpress-develop that referenced this pull request Jan 24, 2022
pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Jan 24, 2022
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.

git-svn-id: https://develop.svn.wordpress.org/trunk@52633 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jan 24, 2022
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.
Built from https://develop.svn.wordpress.org/trunk@52633


git-svn-id: http://core.svn.wordpress.org/trunk@52221 1a063a9b-81f0-0310-95a4-ce76da25c4cd
gMagicScott pushed a commit to gMagicScott/core.wordpress-mirror that referenced this pull request Jan 24, 2022
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.
Built from https://develop.svn.wordpress.org/trunk@52633


git-svn-id: https://core.svn.wordpress.org/trunk@52221 1a063a9b-81f0-0310-95a4-ce76da25c4cd
pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Jan 24, 2022
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.

git-svn-id: https://develop.svn.wordpress.org/branches/5.9@52634 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Jan 24, 2022
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.
Built from https://develop.svn.wordpress.org/branches/5.9@52634


git-svn-id: http://core.svn.wordpress.org/branches/5.9@52222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
gMagicScott pushed a commit to gMagicScott/core.wordpress-mirror that referenced this pull request Jan 24, 2022
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.
Built from https://develop.svn.wordpress.org/branches/5.9@52634


git-svn-id: https://core.svn.wordpress.org/branches/5.9@52222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
@ndiego
Copy link
Member

ndiego commented Jan 24, 2022

Just testing in RC4, still a lot of issues 😢 This PR was definitely an improvement though, most noticeably in Gutenberg itself, but there seems to be a larger issue with regards to the way WordPress handles stylesheet concatenations. I am also still seeing some scrollbars so maybe we should keep #37573 open 🤔

@ellenbauer
Copy link

Like @ndiego I've just tested with RC4 without the Gutenberg plugin active and the issues are still present. I used our Aino theme but the 2022 gives a similar experience.

The scrollbars are gone, but the height of the patterns is not displayed correctly (some are too short, some stretch longer than the actual height. So now for the short ones no preview is possible at all, see:

Screen Shot 2022-01-25 at 1 25 35 PM

@Mamaduka
Copy link
Member Author

Thanks for testing, @ellenbauer.

@ndiego or @ellenbauer, do you mind creating a new issue? I will add to the 5.9.1 milestone and re-post the technical findings of the problem so far.

As Nick mentioned, the way WP handles stylesheet concatenations can cause different results. Currently, we can't reproduce the same environment via the plugin.

@richtabor
Copy link
Member

Like @ndiego I've just tested with RC4 without the Gutenberg plugin active and the issues are still present. I used our Aino theme but the 2022 gives a similar experience.

@ellenbauer Do they still get cut off if you're not loading extra styling from your plugin?

@richtabor
Copy link
Member

I'm seeing the same experience with utility styles that are added with Extendify. If I don't have those loaded, then the scaled previews are generated in time for the height to not be cut off.

@gziolo gziolo 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 Apr 11, 2022
whereiscodedude pushed a commit to whereiscodedude/wpss that referenced this pull request Sep 18, 2022
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.
Built from https://develop.svn.wordpress.org/branches/5.9@52634
VenusPR added a commit to VenusPR/Wordpress_Richard that referenced this pull request Mar 9, 2023
This merges the latest package updates for the block editor to include the fix for WordPress/gutenberg#38175.

Props hellofromTonya, mamaduka, joen, talldanwp, cbravobernal, poena.
Fixes #54487.
Built from https://develop.svn.wordpress.org/branches/5.9@52634


git-svn-id: http://core.svn.wordpress.org/branches/5.9@52222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Inserter The main way to insert blocks using the + button in the editing interface [Feature] Patterns A collection of blocks that can be synced (previously reusable blocks) or unsynced [Type] Bug An existing feature does not function as intended
Projects
None yet