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 resizing to max width in classic themes #64819

Merged
merged 4 commits into from
Sep 11, 2024

Conversation

kevin940726
Copy link
Member

@kevin940726 kevin940726 commented Aug 27, 2024

What?

Continued from #63341. Fix resizing beyond max-width in classic themes. See #63341 (review).

Note

Flex layouts are not supported yet.

Why?

It should work in classic themes too.

How?

Turns out we can just use 100% width in the resizable box. I'm not sure if there's any unexpected side effect I didn't notice though!

Testing Instructions

Follow the same instructions in #63341 but with classic themes.

  • Activate twentytwentyone.
  • Insert an image into a post.
  • Try resizing it beyond its container.

Screenshots or screencast

Kapture.2024-08-27.at.16.31.58.mp4

@kevin940726 kevin940726 added [Type] Bug An existing feature does not function as intended [Feature] Media Anything that impacts the experience of managing media [Block] Image Affects the Image Block labels Aug 27, 2024
@kevin940726 kevin940726 self-assigned this Aug 27, 2024
Copy link

github-actions bot commented Aug 27, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: kevin940726 <kevin940726@git.wordpress.org>
Co-authored-by: aaronrobertshaw <aaronrobertshaw@git.wordpress.org>
Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

Copy link

github-actions bot commented Aug 27, 2024

Size Change: +521 B (+0.03%)

Total Size: 1.78 MB

Filename Size Change
build/block-editor/content-rtl.css 4.65 kB +114 B (+2.51%)
build/block-editor/content.css 4.64 kB +112 B (+2.47%)
build/block-editor/index.min.js 258 kB +457 B (+0.18%)
build/block-editor/style-rtl.css 16.2 kB -92 B (-0.57%)
build/block-editor/style.css 16.2 kB -92 B (-0.57%)
build/block-library/blocks/image/editor-rtl.css 903 B +12 B (+1.35%)
build/block-library/blocks/image/editor.css 900 B +10 B (+1.12%)
build/block-library/blocks/navigation/editor-rtl.css 2.19 kB +4 B (+0.18%)
build/block-library/blocks/navigation/editor.css 2.2 kB +3 B (+0.14%)
build/block-library/editor-rtl.css 11.8 kB +9 B (+0.08%)
build/block-library/editor.css 11.8 kB +10 B (+0.08%)
build/block-library/index.min.js 218 kB +150 B (+0.07%)
build/components/index.min.js 224 kB -478 B (-0.21%)
build/components/style-rtl.css 12.1 kB -8 B (-0.07%)
build/components/style.css 12.1 kB -9 B (-0.07%)
build/compose/index.min.js 12.7 kB +133 B (+1.06%)
build/core-data/index.min.js 73.2 kB -5 B (-0.01%)
build/edit-post/index.min.js 12.7 kB +15 B (+0.12%)
build/edit-site/index.min.js 217 kB +7 B (0%)
build/edit-site/posts-rtl.css 7.3 kB -7 B (-0.1%)
build/edit-site/posts.css 7.3 kB -8 B (-0.11%)
build/edit-site/style-rtl.css 12.6 kB -7 B (-0.06%)
build/edit-site/style.css 12.6 kB -7 B (-0.06%)
build/edit-widgets/index.min.js 17.7 kB +1 B (+0.01%)
build/editor/index.min.js 102 kB +166 B (+0.16%)
build/interactivity/debug.min.js 16.4 kB +12 B (+0.07%)
build/interactivity/index.min.js 13.2 kB +15 B (+0.11%)
build/preferences/index.min.js 2.9 kB +4 B (+0.14%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 951 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.11 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 394 B
build/block-editor/default-editor-styles.css 394 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 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 265 B
build/block-library/blocks/button/editor.css 265 B
build/block-library/blocks/button/style-rtl.css 538 B
build/block-library/blocks/button/style.css 538 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 328 B
build/block-library/blocks/buttons/style.css 328 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 122 B
build/block-library/blocks/code/theme.css 122 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 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-author-name/style-rtl.css 72 B
build/block-library/blocks/comment-author-name/style.css 72 B
build/block-library/blocks/comment-content/style-rtl.css 120 B
build/block-library/blocks/comment-content/style.css 120 B
build/block-library/blocks/comment-date/style-rtl.css 65 B
build/block-library/blocks/comment-date/style.css 65 B
build/block-library/blocks/comment-edit-link/style-rtl.css 70 B
build/block-library/blocks/comment-edit-link/style.css 70 B
build/block-library/blocks/comment-reply-link/style-rtl.css 71 B
build/block-library/blocks/comment-reply-link/style.css 71 B
build/block-library/blocks/comment-template/style-rtl.css 200 B
build/block-library/blocks/comment-template/style.css 199 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 228 B
build/block-library/blocks/comments-pagination/editor.css 217 B
build/block-library/blocks/comments-pagination/style-rtl.css 234 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 832 B
build/block-library/blocks/comments/editor.css 832 B
build/block-library/blocks/comments/style-rtl.css 632 B
build/block-library/blocks/comments/style.css 631 B
build/block-library/blocks/cover/editor-rtl.css 641 B
build/block-library/blocks/cover/editor.css 642 B
build/block-library/blocks/cover/style-rtl.css 1.62 kB
build/block-library/blocks/cover/style.css 1.6 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 331 B
build/block-library/blocks/embed/editor.css 331 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 342 B
build/block-library/blocks/form-input/style.css 342 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 470 B
build/block-library/blocks/freeform/editor-rtl.css 2.6 kB
build/block-library/blocks/freeform/editor.css 2.6 kB
build/block-library/blocks/gallery/editor-rtl.css 955 B
build/block-library/blocks/gallery/editor.css 958 B
build/block-library/blocks/gallery/style-rtl.css 1.83 kB
build/block-library/blocks/gallery/style.css 1.82 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 333 B
build/block-library/blocks/group/editor.css 333 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/style-rtl.css 1.59 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/image/view.min.js 1.65 kB
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 179 B
build/block-library/blocks/latest-posts/editor.css 179 B
build/block-library/blocks/latest-posts/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 321 B
build/block-library/blocks/media-text/editor.css 320 B
build/block-library/blocks/media-text/style-rtl.css 558 B
build/block-library/blocks/media-text/style.css 556 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 644 B
build/block-library/blocks/navigation-link/editor.css 645 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/style-rtl.css 2.25 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 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 236 B
build/block-library/blocks/paragraph/editor.css 236 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 B
build/block-library/blocks/post-author-biography/style-rtl.css 74 B
build/block-library/blocks/post-author-biography/style.css 74 B
build/block-library/blocks/post-author-name/style-rtl.css 69 B
build/block-library/blocks/post-author-name/style.css 69 B
build/block-library/blocks/post-author/editor-rtl.css 107 B
build/block-library/blocks/post-author/editor.css 107 B
build/block-library/blocks/post-author/style-rtl.css 188 B
build/block-library/blocks/post-author/style.css 189 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 527 B
build/block-library/blocks/post-comments-form/style.css 528 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-content/style-rtl.css 79 B
build/block-library/blocks/post-content/style.css 79 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 726 B
build/block-library/blocks/post-featured-image/style-rtl.css 347 B
build/block-library/blocks/post-featured-image/style.css 347 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 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 399 B
build/block-library/blocks/post-template/style.css 398 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 70 B
build/block-library/blocks/post-time-to-read/style.css 70 B
build/block-library/blocks/post-title/style-rtl.css 226 B
build/block-library/blocks/post-title/style.css 226 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 342 B
build/block-library/blocks/pullquote/style.css 342 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 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 154 B
build/block-library/blocks/query-pagination/editor.css 154 B
build/block-library/blocks/query-pagination/style-rtl.css 237 B
build/block-library/blocks/query-pagination/style.css 237 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 452 B
build/block-library/blocks/query/editor.css 451 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 236 B
build/block-library/blocks/read-more/style-rtl.css 138 B
build/block-library/blocks/read-more/style.css 138 B
build/block-library/blocks/rss/editor-rtl.css 101 B
build/block-library/blocks/rss/editor.css 101 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 199 B
build/block-library/blocks/search/editor.css 199 B
build/block-library/blocks/search/style-rtl.css 672 B
build/block-library/blocks/search/style.css 671 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/search/view.min.js 475 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-logo/editor-rtl.css 806 B
build/block-library/blocks/site-logo/editor.css 803 B
build/block-library/blocks/site-logo/style-rtl.css 218 B
build/block-library/blocks/site-logo/style.css 218 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-tagline/style-rtl.css 65 B
build/block-library/blocks/site-tagline/style.css 65 B
build/block-library/blocks/site-title/editor-rtl.css 85 B
build/block-library/blocks/site-title/editor.css 85 B
build/block-library/blocks/site-title/style-rtl.css 206 B
build/block-library/blocks/site-title/style.css 206 B
build/block-library/blocks/social-link/editor-rtl.css 338 B
build/block-library/blocks/social-link/editor.css 338 B
build/block-library/blocks/social-links/editor-rtl.css 757 B
build/block-library/blocks/social-links/editor.css 756 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.5 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 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-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/editor-rtl.css 144 B
build/block-library/blocks/tag-cloud/editor.css 144 B
build/block-library/blocks/tag-cloud/style-rtl.css 266 B
build/block-library/blocks/tag-cloud/style.css 265 B
build/block-library/blocks/template-part/editor-rtl.css 368 B
build/block-library/blocks/template-part/editor.css 368 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 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 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 396 B
build/block-library/blocks/video/editor.css 397 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.1 kB
build/block-library/common.css 1.1 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 15 kB
build/block-library/style.css 15 kB
build/block-library/theme-rtl.css 708 B
build/block-library/theme.css 712 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 52.3 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/core-commands/index.min.js 2.82 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.35 kB
build/customize-widgets/style.css 1.35 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.98 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.66 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/style-rtl.css 2.31 kB
build/edit-post/style.css 2.31 kB
build/edit-widgets/style-rtl.css 4.2 kB
build/edit-widgets/style.css 4.2 kB
build/editor/style-rtl.css 9.28 kB
build/editor/style.css 9.29 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.11 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.54 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.78 kB
build/interactivity/navigation.min.js 1.16 kB
build/interactivity/query.min.js 742 B
build/interactivity/router.min.js 2.8 kB
build/interactivity/search.min.js 615 B
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.18 kB
build/list-reusable-blocks/style-rtl.css 846 B
build/list-reusable-blocks/style.css 846 B
build/media-utils/index.min.js 3.2 kB
build/modules/importmap-polyfill.min.js 12.3 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.61 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.34 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.81 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/style-rtl.css 554 B
build/preferences/style.css 554 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 1.01 kB
build/react-i18n/index.min.js 630 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.76 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/index.min.js 2.55 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.1 kB
build/router/index.min.js 1.96 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.04 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.9 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 560 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.2 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.03 kB

compressed-size-action

Copy link
Contributor

@aaronrobertshaw aaronrobertshaw left a comment

Choose a reason for hiding this comment

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

Thanks for the PR @kevin940726 👍

I'm missing some of the recent history around the image resizing feature so take this review with a grain of salt.

Regarding the main thrust of the PR, it does fix the issue with top-level images in classic themes being able to be resized larger than their container.

While testing though I ran into weird behaviour trying to resize images, regardless of whether I was using a classic or block theme.

Some of the issues encountered were:

  • If the image block was aligned (top-level or within another container like columns), any resizing of the image doesn't stick. Looks ok on trunk.
  • Once aligned, the drag handles are clunky in that you can't drag them wider once you've dragged the handle in a bit.

Block Theme

Screen.Recording.2024-08-27.at.5.45.14.PM.mp4

Classic Theme

Screen.Recording.2024-08-27.at.5.46.29.PM.mp4

@ramonjd
Copy link
Member

ramonjd commented Aug 28, 2024

If the image block was aligned (top-level or within another container like columns), any resizing of the image doesn't stick. Looks ok on trunk.

I can confirm. From what I can see, the combination of display: table and float: <value> on the wp-block-image container removes the image from the page flow, and so the image and container will have the same width and fail these tests.

Kapture.2024-08-28.at.10.14.18.mp4

Copy link

github-actions bot commented Aug 29, 2024

Flaky tests detected in 33b11ac.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/10768071519
📝 Reported issues:

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

Nice follow-up @kevin940726!

In manual testing, I think I might have found another case where 100% might not work for the maximum value? If I have an image at the root of a post it works fine. But if I add a full width Group block, give it a child Image block, and then set the Group block to use a custom content size, then the 100% appears to allow the dragging to still go beyond the size of the container.

It was a little unreliable for me in reproducing this while testing, but here's a screengrab in case it helps:

2024-08-29.16.13.33.mp4

Since we're using the content resize listener for the align mode now with cloneElement, would it be worth trying using it when no alignment is applied, too?

@kevin940726
Copy link
Member Author

I pushed some updates, here's the result:

Block themes (twentytwentyfour):

Kapture.2024-08-29.at.16.37.37.mp4

Classic themes (twentytwentyone):

Kapture.2024-08-29.at.16.33.36.mp4

The image block is complicated though, so I'd not be surprised if I missed some gotchas 😅. Appreciate any further testing 🙇 !

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

This is feeling close to me now and addresses the issue in the Group block I encountered yesterday. The new bug I've encountered is when attempting to resize within a Row block. It doesn't seem to allow me to resize an image down — it winds up treating any resize as though resetting to auto for some reason 🤔

2024-08-30.15.02.16.mp4

Are you able to reproduce that?

I had a go at logging out what maxWidth is set to, and it seems that when the image block is a child of the Row block, when the onResizeStop fires, the maxWidth winds up being set to the same value as the width that the user dragged to, so I think it's being treated as within the threshold for resetting to Auto? Here's a screenshot of logging out maxWidth values in case it helps:

image

I'm guessing it might have something to do with the figure element (elt.parentElement) being a child of a flex element?

Apologies if I'm way off there!

@kevin940726
Copy link
Member Author

Yeah, flexbox makes it a bit more complicated 😅. I pushed a commit and hopefully could solve that. I'm concerned about the wp-block class added to the resizer but if it's already used elsewhere that might be fine?

Another concern is the padding and max-width styles in classic themes. It doesn't seem to impact twentytwentyone, but it might need more testing to see if there will be conflict 🤔.

@kevin940726
Copy link
Member Author

The recent commit still fails when resizing an image to its max size in a flexbox. It seems like width: auto on an image won't scale to its natural width when placed inside a flexbox. I'm not sure how to fix it yet. 🤔

@andrewserong
Copy link
Contributor

Nice progress here!

The recent commit still fails when resizing an image to its max size in a flexbox. It seems like width: auto on an image won't scale to its natural width when placed inside a flexbox. I'm not sure how to fix it yet. 🤔

Just confirming the issue you're running into — is this only present when the Row block is set to not allow items to wrap? I found while testing that if I allowed the Row block to wrap items it behaves as expected, where dragging to the full width of the container sets it to Auto and the image fills the area as expected:

2024-09-03.16.33.27.mp4

Whereas if the Row is set to not allow Wrap, then we can technically drag the image larger, but upon releasing the mouse button, the image will snap back to the size that flexbox believes it should have? It's not perfect since it's not WYSIWYG, but personally I also didn't mind it as it allows dragging all the way out to effectively perform a reset. Here's what I'm seeing:

2024-09-03.16.32.03.mp4

Separately to that, though, I noticed an odd issue when selecting images within my test post. For some reason when I select these image blocks that didn't have any width values set, upon selecting them, they render smaller than the container size, and the max width doesn't seem quite right. These are root level image blocks within a post in case that helps:

2024-09-03.16.45.30.mp4

Could the global margins / padding rules used for TT4 be getting factored in, in some way to the content resize listener? I.e. in this case is the parent style's padding being included when it shouldn't be? 🤔

@kevin940726
Copy link
Member Author

I updated the PR to only set max width for "simple" layouts (default and constrained). Flex layouts are more complex and I'd rather defer them to another PR 😅.

Let's see if we can fix simple layouts for both classic and block themes. 🤞

@andrewserong
Copy link
Contributor

andrewserong commented Sep 9, 2024

@kevin940726 in retesting I'm still getting the odd issue where the padding appears to be incorrectly included when selecting an image block at the root level of a post using TT4 theme (the last video in #64819 (comment)). It seems that in this case the padding shouldn't be subtracted from the max width? I.e. if I comment out / swap paddingInLine for 0 on this line, it works correctly. However with the current behaviour, this is what happens when I go to select an image:

2024-09-03.16.45.30.mp4

In which cases do we need to factor in the padding?

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

This is looking very close @kevin940726. Just found a regression for the max-width in the Column block, but I think it might be a fairly simple fix 🤞

Comment on lines 118 to 120
const isMaxWidthContainerWidth =
parentLayout?.type === 'default' ||
parentLayout?.type === 'constrained';
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this might need to also include an absence of a parent layout type. Or to put it another way, what if we checked that the parent layout exists (is truthy) and isn't flex or grid?

I ran into this issue because in a post with a Columns block where a user hasn't yet interacted with the layout settings for an individual Column, the parentLayout will be an object but won't have an explicit type property set, as it's implicitly a flow / default layout rather than that being explicit:

image

In that case the parentLayout object was: {contentSize: '620px', wideSize: '1280px'}

The problem I ran into is that with the current check, an Image in the Column block no longer gets the max-width behaviour:

2024-09-10.12.32.36.mp4

Note: if a user has toggled the layout on the individual Column block, then they might get the max-width behaviour, because the type will be set explicitly: {contentSize: '620px', wideSize: '1280px', type: 'default'}. So this issue is to do with Column blocks where the layout hasn't been touched since the block was added to the post.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch! I think this makes sense! I didn't know about this detail about layouts 😅 (a proof that TypeScript could be useful here?). Committed in 5e1e199.

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

Found another couple of issues again, sorry @kevin940726!!

Column block in Classic themes

I think the parent layout check needs a tiny adjustment to handle Classic themes where the parentLayout might not always be available, as the handling within a Column block in Twenty Twenty One theme didn't work for me in re-testing. I've added a separate comment.

Selecting an image block that follows a left or right aligned block

This issue has me stumped, as I'm not really sure what's going on. But I found that if I left or right align an image block, then go to select a non-aligned image block that follows that block (even if there are paragraph in between), then the image block jumps in position, overlapping other blocks.

It's a little tricky to describe, but hopefully the following video will help show what's happening:

2024-09-10.16.25.52.mp4

In the above video, the second block's resizer appears to be beneath the left aligned block, which is kind of correct. However the image displays lower down than the resizer, and unexpectedly overlaps with the Columns block that follows.

Let me know if you need any more info to reproduce!

Comment on lines 118 to 121
const isMaxWidthContainerWidth =
!! parentLayout &&
parentLayout.type !== 'flex' &&
parentLayout.type !== 'grid';
Copy link
Contributor

@andrewserong andrewserong Sep 10, 2024

Choose a reason for hiding this comment

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

In testing a Classic theme, I just discovered that parentLayout may not even be present, so the image block can be extended beyond the Column container again:

image

So, to handle that, would it work to update this check to something like:

	const isMaxWidthContainerWidth =
		! parentLayout || 
		( parentLayout?.type !== 'flex' &&
		parentLayout?.type !== 'grid' );

(In the above screenshot the flex layout in the logs is just to confirm that the Row block does have the parentLayout object present with a flex layout, as expected)

Copy link
Member Author

Choose a reason for hiding this comment

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

Pushed in 9d8fa55!

@kevin940726
Copy link
Member Author

Selecting an image block that follows a left or right aligned block

I think left or right aligned images are broken in trunk too 😅. I think that's something we can fix in another PR as this can get out of control really quick 😞. I think #63341 also broke left and right aligned images in some way too 🤔.

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

Thanks for all the back and forth here @kevin940726, aside from the left/right alignment this is all testing well for me now!

I think left or right aligned images are broken in trunk too 😅. I think that's something we can fix in another PR as this can get out of control really quick 😞. I think #63341 also broke left and right aligned images in some way too 🤔.

Yes, I see it's broken on trunk now, too. Let's merge this PR and look into that bug next 🙂

@kevin940726
Copy link
Member Author

Thanks for the thorough review! We can work on improving this in follow-up PRs! 🤞

@kevin940726 kevin940726 merged commit 6a60081 into trunk Sep 11, 2024
63 of 64 checks passed
@kevin940726 kevin940726 deleted the fix/image-max-width-classic branch September 11, 2024 02:51
@github-actions github-actions bot added this to the Gutenberg 19.3 milestone Sep 11, 2024
@t-hamano t-hamano mentioned this pull request Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Image Affects the Image Block [Feature] Media Anything that impacts the experience of managing media [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants