Skip to content

Replace deprecated useResizeObserver for useScaleCanvas - #67508

Merged
ajlende merged 5 commits into
trunkfrom
fix/deprecated-use-resize-observer-scale-canvas
Aug 4, 2026
Merged

ajlende merged 5 commits into
trunkfrom
fix/deprecated-use-resize-observer-scale-canvas

Conversation

@ajlende

@ajlende ajlende commented Dec 3, 2024 •

Copy link
Copy Markdown
Contributor

What?

Replaces useResizeObserver with the new callback-based implementation in useScaleCanvas.

Why?

The old usage was deprecated.

How?

contentBlockSize is available in all our supported browsers, so I only implemented that branch of the legacy useResizeObserver and I didn't bother with rounding as the algorithm does rounding elsewhere.

const extractSize = ( entry: ResizeObserverEntry ): ObservedSize => {
let entrySize;
if ( ! entry.contentBoxSize ) {
// The dimensions in `contentBoxSize` and `contentRect` are equivalent according to the spec.
// See the 6th step in the description for the RO algorithm:
// https://drafts.csswg.org/resize-observer/#create-and-populate-resizeobserverentry-h
// > Set this.contentRect to logical this.contentBoxSize given target and observedBox of "content-box".
// In real browser implementations of course these objects differ, but the width/height values should be equivalent.
entrySize = [ entry.contentRect.width, entry.contentRect.height ];
} else if ( entry.contentBoxSize[ 0 ] ) {
const contentBoxSize = entry.contentBoxSize[ 0 ];
entrySize = [ contentBoxSize.inlineSize, contentBoxSize.blockSize ];
} else {
// TS complains about this, because the RO entry type follows the spec and does not reflect Firefox's buggy
// behaviour of returning objects instead of arrays for `borderBoxSize` and `contentBoxSize`.
const contentBoxSize =
entry.contentBoxSize as unknown as ResizeObserverSize;
entrySize = [ contentBoxSize.inlineSize, contentBoxSize.blockSize ];
}
const [ width, height ] = entrySize.map( ( d ) => Math.round( d ) );
return { width, height };
};

Testing Instructions

Testing Instructions for Keyboard

Screenshots or screencast

Before After

@ajlende ajlende added [Type] Code Quality Issues or PRs that relate to code quality [Feature] Zoom Out labels Dec 3, 2024
@ajlende
ajlende requested review from ellatrix, jeryj and jsnajdr December 3, 2024 05:49
@ajlende ajlende self-assigned this Dec 3, 2024
@github-actions

github-actions Bot commented Dec 3, 2024 •

Copy link
Copy Markdown

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: ajlende <ajlende@git.wordpress.org>
Co-authored-by: jeryj <jeryj@git.wordpress.org>
Co-authored-by: jsnajdr <jsnajdr@git.wordpress.org>
Co-authored-by: tyxla <tyxla@git.wordpress.org>

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

@github-actions

github-actions Bot commented Dec 3, 2024 •

Copy link
Copy Markdown

Size Change: +84 B (0%)

Total Size: 1.83 MB

Filename Size Change
build/block-editor/index.min.js 258 kB +84 B (+0.03%)
ℹ️ View Unchanged
Filename Size
build-module/a11y/index.min.js 482 B
build-module/block-library/file/view.min.js 447 B
build-module/block-library/image/view.min.js 1.78 kB
build-module/block-library/navigation/view.min.js 1.16 kB
build-module/block-library/query/view.min.js 742 B
build-module/block-library/search/view.min.js 616 B
build-module/interactivity-router/index.min.js 3.03 kB
build-module/interactivity/debug.min.js 17.2 kB
build-module/interactivity/index.min.js 13.6 kB
build/a11y/index.min.js 952 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.26 kB
build/block-directory/style-rtl.css 1 kB
build/block-directory/style.css 1 kB
build/block-editor/content-rtl.css 4.47 kB
build/block-editor/content.css 4.46 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-editor/style-rtl.css 15.8 kB
build/block-editor/style.css 15.7 kB
build/block-library/blocks/archives/editor-rtl.css 84 B
build/block-library/blocks/archives/editor.css 83 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 555 B
build/block-library/blocks/button/style.css 555 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 345 B
build/block-library/blocks/buttons/style.css 345 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 139 B
build/block-library/blocks/code/style.css 139 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 238 B
build/block-library/blocks/comments-pagination/editor.css 231 B
build/block-library/blocks/comments-pagination/style-rtl.css 245 B
build/block-library/blocks/comments-pagination/style.css 241 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 837 B
build/block-library/blocks/comments/editor.css 836 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 637 B
build/block-library/blocks/cover/editor-rtl.css 631 B
build/block-library/blocks/cover/editor.css 631 B
build/block-library/blocks/cover/style-rtl.css 1.7 kB
build/block-library/blocks/cover/style.css 1.69 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/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 357 B
build/block-library/blocks/form-input/style.css 357 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 946 B
build/block-library/blocks/gallery/editor.css 951 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 334 B
build/block-library/blocks/group/editor.css 334 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/editor-rtl.css 799 B
build/block-library/blocks/image/editor.css 799 B
build/block-library/blocks/image/style-rtl.css 1.6 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/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 139 B
build/block-library/blocks/latest-posts/editor.css 138 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 552 B
build/block-library/blocks/media-text/style.css 550 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/editor-rtl.css 2.2 kB
build/block-library/blocks/navigation/editor.css 2.2 kB
build/block-library/blocks/navigation/style-rtl.css 2.24 kB
build/block-library/blocks/navigation/style.css 2.23 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 192 B
build/block-library/blocks/page-list/style.css 192 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/style-rtl.css 61 B
build/block-library/blocks/post-content/style.css 61 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 162 B
build/block-library/blocks/post-title/style.css 162 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 351 B
build/block-library/blocks/pullquote/style.css 350 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 527 B
build/block-library/blocks/query/editor.css 527 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 660 B
build/block-library/blocks/search/style.css 658 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 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 143 B
build/block-library/blocks/site-title/style.css 143 B
build/block-library/blocks/social-link/editor-rtl.css 309 B
build/block-library/blocks/social-link/editor.css 309 B
build/block-library/blocks/social-links/editor-rtl.css 729 B
build/block-library/blocks/social-links/editor.css 727 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 441 B
build/block-library/blocks/video/editor.css 442 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.08 kB
build/block-library/common.css 1.08 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.8 kB
build/block-library/editor.css 11.8 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/index.min.js 222 kB
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 53 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/index.min.js 228 kB
build/components/style-rtl.css 12.4 kB
build/components/style.css 12.4 kB
build/compose/index.min.js 12.7 kB
build/core-commands/index.min.js 3.09 kB
build/core-data/index.min.js 74.3 kB
build/customize-widgets/index.min.js 10.9 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.69 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/index.min.js 13.3 kB
build/edit-post/style-rtl.css 2.75 kB
build/edit-post/style.css 2.75 kB
build/edit-site/index.min.js 220 kB
build/edit-site/posts-rtl.css 7.58 kB
build/edit-site/posts.css 7.58 kB
build/edit-site/style-rtl.css 13.8 kB
build/edit-site/style.css 13.8 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.09 kB
build/edit-widgets/style.css 4.09 kB
build/editor/index.min.js 114 kB
build/editor/style-rtl.css 9.25 kB
build/editor/style.css 9.25 kB
build/element/index.min.js 4.82 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.05 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.65 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
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.13 kB
build/list-reusable-blocks/style-rtl.css 852 B
build/list-reusable-blocks/style.css 852 B
build/media-utils/index.min.js 3.58 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.62 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.37 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.86 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.9 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 972 B
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.7 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.3 kB
build/router/index.min.js 5.42 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 556 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/vips/index.min.js 36.2 kB
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.16 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

@jeryj jeryj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the code quality cleanup! Working well.

@jeryj
jeryj enabled auto-merge (squash) December 3, 2024 15:10
@ajlende
ajlende force-pushed the fix/deprecated-use-resize-observer-scale-canvas branch from b48f02a to 714ad14 Compare December 3, 2024 16:34

@jsnajdr jsnajdr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm very happy to see us migrating to the new useResizeObserver 🚀

contentResizeListener,
containerResizeListener,
contentRefCallback,
containerRefCallback,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Let's call it just contentRef/containerRef. The fact that it's a callback is an implementation detail that nobody really needs to know.

Also I think React Compiler treats variables differently when their name has the *Ref suffix.

@ajlende ajlende Dec 3, 2024 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Let's call it just contentRef/containerRef. The fact that it's a callback is an implementation detail that nobody really needs to know.

When I'm writing my own React code, I typically differentiate between RefObject<T> and RefCallback<T> with different suffixes so I know if I can access a .current property or not.

Also I think React Compiler treats variables differently when their name has the *Ref suffix.

Thanks for bringing that to my attention. It looks like React Compiler bases it on the useRef() call, not the name of the variable.

https://playground.react.dev/#N4Igzg9grgTgxgUxALhAgHgBwjALgAgBMEAzAQygBsCSoA7OXASwjvyjAQFEA3BO3AAo4ZSpQBGZOAGsAlPmAAdNvjiswBGKXwBedpwBKpQYPk6AfAuX4b+XAAsYEAO746CV1xhOYg67ZsAcgBhUQkpaTBVLTJcBEJ8ZyYHfAADDm4+AVTVMjo6CAJxBFyxeKJYJjoAc3wtOmIYKuqAOkD-G1kAbn8AX27-DIBJOk48FjouEhIERhMzSyUVGy0SFrhYeoI9ETFJGR6VfsOVhFxYNgzQvYi-ZfxBFqeyGGqwBbrSdc3+XAB+FqPZ6vd4AGg6+AA2gBdfwDOi9ZTKDDYPBEUgUaj4WgMZisfAAWQAngBBTCYUxWFRqUYEAC2RKMJF0+kyv3mukW+GO-hpGnwDKZ13CMhZGV47MpFgU3Nk-i05xgbDuAQAPOYITZVYQmDxPiQdMBBaRevgAPQa+5anV61aG40kYX7aSmi0Q1VulTwxF0EC9IA

I know ESLint's react/compiler rules are still a little wonky. Maybe ESLint was using the *Ref suffix for checking before, but I don't see any errors now. 🤷


That all being said, I don't see anyone else differentiating them in Gutenberg though, so I suppose I can change it here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It looks like React Compiler bases it on the useRef() call

@tyxla had to change a lot of ref variable names in #64718 to prevent a "mutating a value" error from the compiler. So the names matter.

In this case contentRefCallback would probably still be fine, because there is never any .current = ... assignment related to contentRefCallback.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The ESLint plugin has been enabled since #61788, so it should automatically detect if we have a problem with the ref and if it needs to be named with *Ref. If it didn't detect it, then you're most likely not mutating the ref's .current, which is totally fine.

@ajlende ajlende Dec 9, 2024 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I did some more testing in the React Compiler Playground. I didn't have the enableTreatRefLikeIdentifiersAsRefs option set which corresponds to the ESLint rule that you're talking about. The new example has it enabled.

https://playground.react.dev/#N4Igzg9grgTgxgUxALhAejQAgAIIHYCGARgDYIAqMCBALgEoIBmAMgJYDWCAkgCb42tGrBDDABBMA0ZhMAXkw0YUBAG4AOng0Y5s3Xv0HDR4ycNasAOQIBbBDIiNMVAOZQSBGJihgEUp0xkeCDs8AHIaTB8EawUITGtaGhEAOnMdUwzMrP0NDUYoPDgBCDxMAFkATykACgBKTGANTEw4ErAI6yqmOS8fGrw3Elr1Ut6EAFFGRgQi6rq5AD4Gpub4rsZkuFgqPAj5AZISEeaAX2GVqhpYUoAeHlYAN39GWWBOqRPMNAWRk9y8fKFYqlSoAeSIACsZjR5o1Rq08O01uCoUUet5fExqgchscxpNprN5rIlnDVl80CtmtoAGIEEg+TAABwgYFYAgeCCpFO52nGAGU2LtkOUoDRaKw8M5MARMA96cp-FcYHgEDxMIwYBAYrLAUVWCVMAB3AAWrIQSuucoVFrAZrc6rwEAiRAt1jFtDVqVGzU6KOhm22-B6OLxZzxlytd0ez1efsh0M+31+-202XTGaMaQYytV6qo0hlO3CMsOECNatimFd8Q9SR43rTmebGf+euBYxz1xqkvZrHp9TJFJabQiBfRfSxvYEA7x2kjKueEYQuc7U7wfdnGj+mgBBX1hsqXZVUhqg5WCKR7xX1zVfnkGOPeH6g3OowxBOhc3qJOWPrWT53kwgYwDseyYKGKzhhcN6LtGTwFnGXS5kBjBJj825tvuHZHrBz5MP6sznvCo4AXhaqEeBj54S+hxvs0H5TF+xKkryWACkKNAimUdaStKsryiQioLnmGpajqGrYQapSmualqLoJip2tAJCOs61ZunWXpsZgXB4IJrA8AwBBFNxvFSjK1pCRaImVpq2qWe20nGmajIiVZSn2qpEHqTW7rivW3rkto14oTwlEgWBIaDGG9Hybc9wIUwSGAeFCZFOhKa7k2La5Rk2bkeqcD0iQRAmewMgmgQnI+S0Qa7MyWpMiINAVFWJmIGAMgEHgFRGgQFSNlgeUjSYWFAs5H6crs1TFYcZVwOwxHNJeY7dA+k6MN+iwNJg0Hvj4ek+DAwKfkSP6sf+BaRcG8hzaV5Wxcuq4YgAwiVC3sHMyQ-R4zhgBdzw3bsAD8yTVD9yR-QDAA0mAANoALpvjueRSYeFTjNN9BYstI6Ih0mPY-e+LY9tv7AHtcWMYSMIsX+wWUv+tL0oyqrOBKnJsdynRY-wUjA+BkGjPtzTufBsZvET-NMJlmG7k5GN87s73zeVsIXqRvPY6rD2LROExk-TlOi-iTHnTtQ7UuxgqSlxooBXxlmKTZhViQ5urozJrmu6uLuRF5akuppAXaczWB6QZRnUKZDsShZAk2vFdniY5XsuXJ7n+8pDo+cHtahw2Ona-wuufYL0WHE9MGrhLiFS8rNBl+Vct4KjeA5aNXe6GkACqbIJ4cCgmharTWCyqq7DIkDDwgbUeBaJX+CZVWkAgQ3pN3Xf-AgAAeLInZgfCMAQbgRIrIIVGITJMhrozudU3I3As3LNDcuGON8r+YO-FSUV8L9-xv1wrmU83Qv5AJ-iA7sBF0oRAgeSYB0tdh+AQYg3+jdm76zQW-NBKMNAgBOEAA

I'm wondering if we should actually have a different name for RefCallback<T> variables because they don't have a .current property like the RefObject<T> variables? A Ref suffix makes the ESLint (and React Compiler) think that they do with the enableTreatRefLikeIdentifiersAsRefs option enabled.

This PR probably isn't the best place to discuss, so I'll open a discussion and link it here.

EDIT: Discussion in #67756

Comment thread packages/block-editor/src/components/iframe/use-scale-canvas.js
Comment thread packages/block-editor/src/components/iframe/use-scale-canvas.js Outdated
@ajlende
ajlende force-pushed the fix/deprecated-use-resize-observer-scale-canvas branch from 714ad14 to 8e25519 Compare December 3, 2024 17:37
@ajlende
ajlende disabled auto-merge December 3, 2024 19:15
@ajlende
ajlende enabled auto-merge (squash) December 3, 2024 19:16
@ajlende
ajlende force-pushed the fix/deprecated-use-resize-observer-scale-canvas branch from b28ef42 to 4f8c5be Compare December 3, 2024 20:55

@jsnajdr jsnajdr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good, thanks for applying the feedback 🚀

@ajlende
ajlende force-pushed the fix/deprecated-use-resize-observer-scale-canvas branch from 4f8c5be to ef60a79 Compare December 4, 2024 21:01
@ajlende
ajlende merged commit 1a14d72 into trunk Aug 4, 2026
@ajlende
ajlende deleted the fix/deprecated-use-resize-observer-scale-canvas branch August 4, 2026 01:17
@github-actions github-actions Bot added this to the Gutenberg 23.8 milestone Aug 4, 2026
shail-mehta pushed a commit that referenced this pull request Aug 12, 2026
Co-authored-by: ajlende <ajlende@git.wordpress.org>
Co-authored-by: jeryj <jeryj@git.wordpress.org>
Co-authored-by: jsnajdr <jsnajdr@git.wordpress.org>
wporg-sync pushed a commit to WordPress/wordpress-develop that referenced this pull request Sep 8, 2026
This updates the pinned commit hash of the Gutenberg repository from `5a0417990a9404cc2562cdd35e3054cb0d3e546e` (version `23.7.0`) to `ae8b34d78e1abc6d1c866fdc00080a1452de82ad` (version `23.8.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.7.0..v23.8.0.

- Fix: New route-based admin pages are empty when no JS (WordPress/gutenberg#80628)
- Report flaky tests: declare @types/node (WordPress/gutenberg#80838)
- Storybook e2e: add small, compact and icon examples to button matrix (WordPress/gutenberg#80793)
- ESLint: Drop @eslint/compat fixup for jest-dom and testing-library (WordPress/gutenberg#80842)
- Storybook: Use SelectControl in Motion tokens story (WordPress/gutenberg#80790)
- Writing flow: forward delete an empty paragraph without breaking apart the next block (WordPress/gutenberg#80813)
- ToggleControl: Add "With Visual" Storybook story (WordPress/gutenberg#80803)
- Bump the github-actions group across 1 directory with 5 updates (WordPress/gutenberg#80684)
- Update Ariakit packages (WordPress/gutenberg#80765)
- Components: Update Floating UI to 2.1.9 (WordPress/gutenberg#80761)
- Improve pre-flight npm access checks (WordPress/gutenberg#80334)
- Ensure static checks can run for private mirrors (WordPress/gutenberg#80817)
- Components: Update react-day-picker to 9.14.0 (WordPress/gutenberg#80792)
- Testing: Remove the jest-puppeteer-axe package (WordPress/gutenberg#80775)
- Tools: Use native agent skill discovery (WordPress/gutenberg#80811)
- Table of Contents: Replace "Convert to static list" with confirmed "Detach" action (WordPress/gutenberg#80844)
- Page List: Rename the Edit action to Detach and confirm it in a dialog (WordPress/gutenberg#80847)
- URLInput: Simplify keyboard handling and fix arrow keys with a text selection (WordPress/gutenberg#80780)
- Upload Media: Fail the item when the /finalize request fails (WordPress/gutenberg#80725)
- Jest preset: support self-referencing via exports (WordPress/gutenberg#80837)
- Fix template `modified` and `date` return value for file templates (WordPress/gutenberg#80733)
- Element: Make the package importable in React 19 (WordPress/gutenberg#80053)
- Add CheckboxControl with-visual Storybook story. (WordPress/gutenberg#80849)
- UI: Add Combobox.InputGroup primitive (WordPress/gutenberg#80869)
- Block Editor: Clear the moving animation's z-index when it finishes (WordPress/gutenberg#80824)
- SearchableChipSelect: Add form primitive to @wordpress/ui (WordPress/gutenberg#80779)
- Playlist: Add track icon (WordPress/gutenberg#80959)
- Flaky tests: fix router navigate latest HTML (WordPress/gutenberg#80178)
- Components: Update polymorphism types to allow all attributes when specifying `as` (WordPress/gutenberg#80705)
- Block JSON schema & PHP-only blocks: Add `autoRegister` support (WordPress/gutenberg#80173)
- Boot: Adjust specificity of the image reset styles so components can size their own images (WordPress/gutenberg#80845)
- Components: Opt-in ConfirmDialog for auto-documentation (WordPress/gutenberg#80866)
- RichText: don't apply input transform when there's no onReplace (WordPress/gutenberg#80978)
- Quote: Ensure paragraph placeholder appears after deleting nested blocks (WordPress/gutenberg#77151)
- Block editor: make the Group action wrap blocks with a group transform (WordPress/gutenberg#80891)
- Copy: preserve the block when its entire text is selected (WordPress/gutenberg#80994)
- Add opt-out for block style state controls (WordPress/gutenberg#80956)
- Upgrade Playwright to v1.62 (WordPress/gutenberg#81001)
- List View: Speed up opening by removing a forced style recalculation (WordPress/gutenberg#80929)
- Widget Dashboard: preserve widget chrome flex layout (WordPress/gutenberg#80570)
- Widget Primitives: document actions as verbs, not links (WordPress/gutenberg#80974)
- Core Data: add missing @wordpress/base-styles dependency (WordPress/gutenberg#81012)
- Ignore node_modules in schema integration test globs (WordPress/gutenberg#81013)
- RichText: fix paste handler crash when pasting files (WordPress/gutenberg#81010)
- Docs: Add VS Code setup guidance (WordPress/gutenberg#77913)
- Perf Tests: Merge selection event windows instead of summing durations (WordPress/gutenberg#81002)
- Storybook: move smoke-test deps into the storybook workspace (WordPress/gutenberg#81017)
- Unit Tests: Reorganise the jest config file. (WordPress/gutenberg#80940)
- Performance Tests: Ignore the locally generated artifacts directory (WordPress/gutenberg#81024)
- Editor: Remove sidebar tabs focus sync effect (WordPress/gutenberg#81020)
- Widgets: carry a declarative `icon` through the widget pipeline (WordPress/gutenberg#80969)
- RTC: Remove excess autosave notices (when not useful) (WordPress/gutenberg#80539)
- UI: Use focus styles from base-styles (WordPress/gutenberg#80635)
- Automated Testing: Add Storybook component documentation regression testing (WordPress/gutenberg#80655)
- Pass Playlist controls to track blocks (WordPress/gutenberg#80368)
- Components: Deprecate Surface (WordPress/gutenberg#80943)
- Tabs: Support Home and End keys for keyboard navigation (WordPress/gutenberg#80912)
- Fix typos in code `comments` and `JSDoc` (WordPress/gutenberg#81045)
- Interface: Remove incorrect aria-expanded from pin-to-toolbar button (WordPress/gutenberg#79874)
- List View: Speed up opening by removing a second render pass (WordPress/gutenberg#80935)
- Docs: Use `gutenberg` instead of `Gutenberg` in package name (WordPress/gutenberg#81051)
- Fix ESLint warnings for 'navigateRegionsProps' spread (WordPress/gutenberg#81052)
- Tests: Replace page-level selectors with locators in e2e specs (WordPress/gutenberg#81053)
- RTC: Disable custom autosave controller when RTC is disabled (WordPress/gutenberg#80769)
- Background: Fix the legacy gradient UI where a gradient cannot be selected (WordPress/gutenberg#81056)
- Rename blockStatesEnabled setting to blockStatesEditingEnabled (WordPress/gutenberg#81058)
- Background: Fix the legacy gradient UI where a gradient cannot be selected - Add missing change log (WordPress/gutenberg#81060)
- Declare missing prettier and stylelint workspace dependencies (WordPress/gutenberg#81065)
- Notes: Display shortcut for form action buttons (WordPress/gutenberg#81064)
- View config: lowercase dynamic filter names (WordPress/gutenberg#81068)
- CI: cache the system packages Playwright dowloads for WebKit (WordPress/gutenberg#80846)
- List View: Collapse off-window placeholder rows into a single spacer row (WordPress/gutenberg#80953)
- devops: balance Playwright shards by duration (WordPress/gutenberg#79479)
- Views: honor developer-defined view config overrides (WordPress/gutenberg#80832)
- Components: Migrate ItemGroup to SCSS module (WordPress/gutenberg#80797)
- Test: Add Vitest migration routing guardrails (WordPress/gutenberg#81036)
- Visual revisions: Add a code diff view inside the editor (WordPress/gutenberg#80314)
- Bump actions/labeler from 6.1.0 to 7.0.0 in /.github/workflows (WordPress/gutenberg#80966)
- Visual revisions: add shareable urls (WordPress/gutenberg#79934)
- Fix e2e tests that break when shard rebalancing changes their neighbors (WordPress/gutenberg#81117)
- Query: guard non-scalar queryId to avoid fatal in enhanced pagination (WordPress/gutenberg#80724)
- Replace deprecated useResizeObserver for useScaleCanvas (WordPress/gutenberg#67508)
- CI: Add job timeouts to E2E, static checks, bundle size, and create block (WordPress/gutenberg#80801)
- Allow organization or repository variable to dictate the Actions runner (WordPress/gutenberg#81087)
- List View: Only subscribe to the block subtree for rows that can show images (WordPress/gutenberg#81076)
- Editor: Migrate settings sidebar to Tabs from @wordpress/ui (WordPress/gutenberg#81054)
- Notes: Email users mentioned in a note (WordPress/gutenberg#79606)
- List View: Narrow the dependants of the memoized List View tree (WordPress/gutenberg#81129)
- List View: Pass only minimal required data to sub-tree branches (WordPress/gutenberg#81111)
- DataViews: Add `time` field type and control (WordPress/gutenberg#80830)
- Post Author Biography: Fix horizontal overflow with long unbroken text (WordPress/gutenberg#81018)
- Link Control: Restore the preview title underline (WordPress/gutenberg#81083)
- Views: Add React to the package's dev dependencies (WordPress/gutenberg#81139)
- feat: Add target param in proxy (WordPress/gutenberg#81141)
- Fix: flaky revisions pagination e2e cross-page diff assertion (WordPress/gutenberg#81119)
- Button: Suppress UA focus ring when focused and pressed (WordPress/gutenberg#81113)
- View config: add reference docs (WordPress/gutenberg#81149)
- Editor: Fix document tools button focus ring (WordPress/gutenberg#81115)
- List View: Replace expand/collapse callbacks with reducer dispatch (WordPress/gutenberg#81138)
- CI: resolve Playwright through the workspace that declares it (WordPress/gutenberg#81137)
- CI: build once and reuse the build across e2e tests shards (WordPress/gutenberg#81031)
- Fix: Tabs block: Start with empty tab labels with placeholders (WordPress/gutenberg#81009)
- Interface: Increase footer breadcrumb height to prevent focus ring clipping (WordPress/gutenberg#81145)
- Editor: clarify autosave failure notice (WordPress/gutenberg#76470)
- Theme: Omit color properties when neither provided nor inherited (WordPress/gutenberg#80600)
- Post editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81112)
- Core Data: saveDirtyEntities: improve messaging of server errors (WordPress/gutenberg#81151)
- Global Styles: kebab-case preset slugs when converting references to custom properties (WordPress/gutenberg#80583)
- Revise CODEOWNERS for package ownership (removing nerrad) (WordPress/gutenberg#81175)
- Build: Wrap script bundles in an IIFE to contain 'use strict' (WordPress/gutenberg#79792)
- Media: Improve the HEIC upload error and keep any upload errors up until dismissed (WordPress/gutenberg#81130)
- Block Supports: Guard against non-string attribute values to avoid fatal errors (WordPress/gutenberg#80501)
- Video: Hide settings for the GIF variation (WordPress/gutenberg#81142)
- Video: clarify the Video variation description (WordPress/gutenberg#81181)
- Media Editor: Render sidebar tabs via ComplementaryArea's render prop (WordPress/gutenberg#81133)
- Bump docker/login-action (WordPress/gutenberg#80962)
- Bump actions/setup-node from 6.4.0 to 7.0.0 in /.github/setup-node (WordPress/gutenberg#80963)
- fix(admin-ui): reset the wp-admin li margin that misaligns Breadcrumbs (WordPress/gutenberg#81134)
- Bump astral-sh/setup-uv from 8.3.2 to 9.0.0 in /.github/workflows (WordPress/gutenberg#80964)
- Fix/79643 rtc awareness mixed block selection (WordPress/gutenberg#79836)
- Agents: Add a defensive data design skill and route to the copy guide (WordPress/gutenberg#81131)
- ESLint: Ban `@ts-ignore` in favour of `@ts-expect-error` (WordPress/gutenberg#81148)
- Types: Replace remaining `@ts-expect-error` suppressions with proper typing (WordPress/gutenberg#81200)
- Button: turn on the width setting by default in theme.json (WordPress/gutenberg#81196)
- Notes: fix the mention notification email composition (WordPress/gutenberg#81187)
- Edit Widgets: Fix header toolbar button focus ring (WordPress/gutenberg#81176)
- List View: Reduce per-row store subscriptions (WordPress/gutenberg#81136)
- Customizer widgets: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81174)
- Blocks: Declare the `@types/react-is` devDependency (WordPress/gutenberg#81203)
- Widgets editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81173)
- PanelColorSettings: Restore the missing space below the panel header (WordPress/gutenberg#81155)
- Remove the editableRoot opt-in from the paragraph block (WordPress/gutenberg#81184)
- Media Attached to: Fix issue with the popover unexpectedly flipping, tweak wording (WordPress/gutenberg#81206)
- Components: Add allowForms prop to SandBox component (WordPress/gutenberg#76471)
- Ensure device preview is always accurate when window is zoomed in (WordPress/gutenberg#81193)
- DataViews: Pass only eligible items to a bulk action callback (WordPress/gutenberg#81198)
- DataViews: Make grid and table item preview aspect ratio configurable (WordPress/gutenberg#79329)
- Block Editor: Return false from isBlockSelected when there is no client ID (WordPress/gutenberg#81212)
- Blocks: Update hpq to 1.4.0 and drop the ts-expect-error suppressions (WordPress/gutenberg#81199)
- DataViews: Fix the between `date` filter losing a manually typed date on blur (WordPress/gutenberg#81150)
- Block Editor: Fix Select all freezing on large posts (WordPress/gutenberg#81210)
- List View: Split the context and drop dead props to cut re-renders on expand and collapse (WordPress/gutenberg#81159)
- Docs: Fix broken Figma links on the design resources page. (WordPress/gutenberg#81166)
- Blocks: Support static block templates in block type settings (WordPress/gutenberg#80027)
- AGENTS: Update development tips section (WordPress/gutenberg#81224)
- URLInput: Skip search requests while an IME composition is in progress (WordPress/gutenberg#80602)
- Components: Deprecate Animate (WordPress/gutenberg#80931)
- Fix: Trunk e2e failures caused by the navigation spec leaving plain permalinks (WordPress/gutenberg#81238)
- Use p elements for callout alerts in components docs (WordPress/gutenberg#81234)
- Storybook: Enable design system theme tool globally (WordPress/gutenberg#81116)
- Media: Cover client-side big image scaling and orphaned files (WordPress/gutenberg#81061)
- Footnotes: guard against invalid post meta values (WordPress/gutenberg#81201)
- Block editor: unify what a new sibling block inherits (WordPress/gutenberg#81250)
- Global Styles: Remove unused duplicate font family preview utilities (WordPress/gutenberg#81194)
- Docs: explain how the theme.json schema fixtures work (WordPress/gutenberg#81263)
- theme.json schema: fix block pseudo-classes and custom states (WordPress/gutenberg#81209)
- List View: Migrate label wrapper to UI Stack and drop Badge from the anchor (WordPress/gutenberg#81266)
- Docs: Remove dependency group import guidance (WordPress/gutenberg#81245)
- ESLint: Define dependency import rules (WordPress/gutenberg#81246)
- Flaky tests: Report as a PR comment only, stop creating issues (WordPress/gutenberg#81218)
- Dashboard Widgets: remove the Hello Dolly download action (WordPress/gutenberg#81272)
- Block Directory: Make downloadable block item labels translatable. (WordPress/gutenberg#81237)
- Icons: move the inline image icon into the library (WordPress/gutenberg#81271)
- Update phpcs, wpcs dependencies (WordPress/gutenberg#81279)
- fix: add optional chaining for empty reusable block (WordPress/gutenberg#81165) (WordPress/gutenberg#81177)
- DataViews: Inline the kebabCase utility from components (WordPress/gutenberg#81284)
- Navigation: Complete the DocBlocks for the responsive container and overlay style helpers (WordPress/gutenberg#80622)
- Style states: fix state deselection when selecting the already selected block (WordPress/gutenberg#81277)
- Fix missing return value in force_filtered_html_on_import footnotes filter (WordPress/gutenberg#81293)
- Packages: Recover July 29 npm release metadata (WordPress/gutenberg#81303)
- Global styles: render element styles set only inside a breakpoint (WordPress/gutenberg#81265)
- Style states: Fix phantom pseudo element style output (WordPress/gutenberg#81291)
- Docs: remove breakpoint-only element style example from global styles guide (WordPress/gutenberg#81308)
- Render viewport state element styles in the editor (WordPress/gutenberg#81307)
- theme.json schema: responsive states belong to blocks (WordPress/gutenberg#81253)
- theme.json schema: allow responsive states on block style variations (WordPress/gutenberg#81309)
- Block Inspector: Disable the 'Edit original' button when the entity ID is missing (WordPress/gutenberg#81288)
- Site Editor: Decode HTML entities in Identity fields (WordPress/gutenberg#81269)
- Document editEntityRecord's options.isCached param (WordPress/gutenberg#81318)
- Theme: Colocate plugin tests with implementations (WordPress/gutenberg#81247)
- Block Editor: Bail out of hasSelectedInnerBlock when there is no clientId (WordPress/gutenberg#81315)
- ESLint: Replace strict config with bulk suppressions (WordPress/gutenberg#81248)
- Block Library: Document security patch releases (WordPress/gutenberg#81295)
- ESLint: Remove legacy import suppressions (WordPress/gutenberg#81338)
- Components: Migrate Spinner styles from Emotion to SCSS module (WordPress/gutenberg#80511)
- DataViews: Use the public `@wordpress/ui` Badge instead of the private one (WordPress/gutenberg#81236)
- Pert Tests: Avoid inflating interaction metrics with startTracing (WordPress/gutenberg#81264)
- Block Editor: Simplify InspectorControlsFill rendering logic (WordPress/gutenberg#81286)
- Keycodes: Make `withIgnoreIMEEvents` a public API (WordPress/gutenberg#81343)
- Docs: Fix broken links to the removed JavaScript build setup guide. (WordPress/gutenberg#81232)
- Markdownlint: disable the MD033 (no-inline-html) rule project-wide (WordPress/gutenberg#81213)
- Docs: Fix typo in block file structure guide (WordPress/gutenberg#81348)
- Playlist: Normalize Waveform Player configuration handling (WordPress/gutenberg#81342)
- Site editor: fix unreadable sidebar hover color (WordPress/gutenberg#81317)
- Global Styles: Migrate font size presets to the shared preset layer (WordPress/gutenberg#79811)
- Block Editor: Convert useBlockVisibility hook to TypeScript (WordPress/gutenberg#80390)
- Scope breakpoint media queries to screen so printing does not look like a resize (WordPress/gutenberg#81367)
- New `kebab-case` package: extract utility and migrate private API calls (WordPress/gutenberg#81294)
- Remove content types experiment (WordPress/gutenberg#81340)
- Editor: Keep the canvas height stable while resizing the canvas (WordPress/gutenberg#81163)
- Dashboard Widgets: add icon and relevance to the widget action envelope (WordPress/gutenberg#81275)
- Playlist: Improve audio conversion and track selection (WordPress/gutenberg#80926)
- Try: Set post navigation link icon to next. (WordPress/gutenberg#81384)
- UI: Derive Base UI direction from WordPress i18n (WordPress/gutenberg#80399)
- DataViews:  Fix `array` field type validation for empty values (WordPress/gutenberg#81378)
- Bump github/codeql-action/upload-sarif (WordPress/gutenberg#81287)
- Bump actions/stale from 10.4.0 to 11.0.0 in /.github/workflows (WordPress/gutenberg#81219)
- Monitor all setup-related composite Actions. (WordPress/gutenberg#81192)
- IconButton: Improve keyboard shortcut accessibility (WordPress/gutenberg#80402)
- Interface: Stop the secondary sidebar animating into place on page load (WordPress/gutenberg#81362)
- Fix: flaky list view paste block styles e2e test (WordPress/gutenberg#81229)
- Docs: Add error message guidance. (WordPress/gutenberg#81143)
- wp-build: Render the no-JS fallback in the generated page templates (WordPress/gutenberg#81365)
- Changed Build Process Link and remove unused tags (WordPress/gutenberg#81360)
- Scripts: Prevent a UTF-8 BOM in the middle of extracted CSS (WordPress/gutenberg#81383)
- Global Styles: Migrate shadows presets to use the preset management layer. (WordPress/gutenberg#79812)
- Global Styles: report border, shadow, outline, filter and dimension changes (WordPress/gutenberg#81407)
- Dashboard Widgets: split action icons into wire and resolved forms (WordPress/gutenberg#81381)
- Block Editor: Fix Escape from the block toolbar and stop redundant last focus dispatches (WordPress/gutenberg#81319)
- Block Mover: Add the keyboard shortcut to the buttons' spoken description (WordPress/gutenberg#81380)
- Format Library: Remove unused CSS rule (WordPress/gutenberg#77831)
- Core Data: Fix post staying dirty after saving edited post meta with RTC enabled (WordPress/gutenberg#81392)
- Widget Dashboard: host-tunable tile spacing via public custom properties (WordPress/gutenberg#81352)
- DataForm: Fix hidden fields validation (WordPress/gutenberg#81377)
- Tools: Make agent setup a workspace (WordPress/gutenberg#81418)
- Test: Add private Vitest config and migrate a pilot test (WordPress/gutenberg#81037)
- Interface: Let CSS own the ComplementaryArea width and use AnimatePresence custom for exit (WordPress/gutenberg#81363)
- Notes: Fix text wrapping for long usernames in collaboration sidebar (WordPress/gutenberg#81406)
- DataViews: vendor `ValidatedSelectControl` (WordPress/gutenberg#81391)
- UI: Add `Calendar` and `RangeCalendar`, moved from `components` private APIs (WordPress/gutenberg#81337)
- Feature: Tabs block: consider using the tab title in the Document Overview instead of a generic "Tab" label (WordPress/gutenberg#81427)
- fix: order site identity changes predictably (WordPress/gutenberg#81283)
- Docs: Fix broken link to the Node.js debugging guide. (WordPress/gutenberg#81398)
- Navigation Overlay Close: Inherit typography and color from the overlay (WordPress/gutenberg#80751)
- Fix: Regression: Tabs block: Start with empty tab labels with placeholders (WordPress/gutenberg#81429)
- components/Menu: Restore Modal focus return when menu items close (WordPress/gutenberg#81164)
- DataViews: Move the rich text control into the editor package (WordPress/gutenberg#81430)
- Components: Remove ValidatedTextControl private API (WordPress/gutenberg#80680)
- Cover: Avoid passing null as the featured image size (WordPress/gutenberg#81444)
- DataViews: vendor `ValidatedNumberControl` (WordPress/gutenberg#81433)
- DataViews: vendor ValidatedCheckboxControl (WordPress/gutenberg#81435)
- DataViews: vendor ValidatedRadioControl (WordPress/gutenberg#81434)
- UI: Upgrade React DayPicker to version 10 (WordPress/gutenberg#81439)
- Block editor: render a real default block in place of the default appender (WordPress/gutenberg#81231)
- Spacing Sizes Control: Make the control label translatable independently of the input aria label. (WordPress/gutenberg#81240)
- Writing flow: stop the caret on containers that do not merge with the text flow (WordPress/gutenberg#81456)
- Remove an unmodified wrapper when all its inner blocks are removed (WordPress/gutenberg#42503)
- Normalize block gap values in layout (WordPress/gutenberg#81460)
- Docs: Add Block Actions Readme (WordPress/gutenberg#69408)
- Block editor: disclose the nested block count of a multi selection (WordPress/gutenberg#80745)
- Fix: flaky autosave shareable URL revisions e2e test. (WordPress/gutenberg#81455)
- Fix empty list block with anchor persisting after backspace deletion (WordPress/gutenberg#77000)
- Docs: Add Block List Readme (WordPress/gutenberg#69432)
- Docs: Add Block Lock Readme (WordPress/gutenberg#69434)
- Backport core fixes for finalize route (WordPress/gutenberg#81465)
- ESLint: Rename root eslint.config.cjs to eslint.config.mjs (WordPress/gutenberg#81468)
- Update 23.8 release branch  (WordPress/gutenberg#81486)
- RTC: Couple RTC and polling provider as an opt-in experiment (WordPress/gutenberg#80658)
- Align collaboration migration version markers with the 23.8.0 release (WordPress/gutenberg#81789)

Fixes #66066.

git-svn-id: https://develop.svn.wordpress.org/trunk@63534 602fd350-edb4-49c9-b593-d223f7449a82
wporg-sync pushed a commit to WordPress/WordPress that referenced this pull request Sep 8, 2026
This updates the pinned commit hash of the Gutenberg repository from `5a0417990a9404cc2562cdd35e3054cb0d3e546e` (version `23.7.0`) to `ae8b34d78e1abc6d1c866fdc00080a1452de82ad` (version `23.8.0`).

A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v23.7.0..v23.8.0.

- Fix: New route-based admin pages are empty when no JS (WordPress/gutenberg#80628)
- Report flaky tests: declare @types/node (WordPress/gutenberg#80838)
- Storybook e2e: add small, compact and icon examples to button matrix (WordPress/gutenberg#80793)
- ESLint: Drop @eslint/compat fixup for jest-dom and testing-library (WordPress/gutenberg#80842)
- Storybook: Use SelectControl in Motion tokens story (WordPress/gutenberg#80790)
- Writing flow: forward delete an empty paragraph without breaking apart the next block (WordPress/gutenberg#80813)
- ToggleControl: Add "With Visual" Storybook story (WordPress/gutenberg#80803)
- Bump the github-actions group across 1 directory with 5 updates (WordPress/gutenberg#80684)
- Update Ariakit packages (WordPress/gutenberg#80765)
- Components: Update Floating UI to 2.1.9 (WordPress/gutenberg#80761)
- Improve pre-flight npm access checks (WordPress/gutenberg#80334)
- Ensure static checks can run for private mirrors (WordPress/gutenberg#80817)
- Components: Update react-day-picker to 9.14.0 (WordPress/gutenberg#80792)
- Testing: Remove the jest-puppeteer-axe package (WordPress/gutenberg#80775)
- Tools: Use native agent skill discovery (WordPress/gutenberg#80811)
- Table of Contents: Replace "Convert to static list" with confirmed "Detach" action (WordPress/gutenberg#80844)
- Page List: Rename the Edit action to Detach and confirm it in a dialog (WordPress/gutenberg#80847)
- URLInput: Simplify keyboard handling and fix arrow keys with a text selection (WordPress/gutenberg#80780)
- Upload Media: Fail the item when the /finalize request fails (WordPress/gutenberg#80725)
- Jest preset: support self-referencing via exports (WordPress/gutenberg#80837)
- Fix template `modified` and `date` return value for file templates (WordPress/gutenberg#80733)
- Element: Make the package importable in React 19 (WordPress/gutenberg#80053)
- Add CheckboxControl with-visual Storybook story. (WordPress/gutenberg#80849)
- UI: Add Combobox.InputGroup primitive (WordPress/gutenberg#80869)
- Block Editor: Clear the moving animation's z-index when it finishes (WordPress/gutenberg#80824)
- SearchableChipSelect: Add form primitive to @wordpress/ui (WordPress/gutenberg#80779)
- Playlist: Add track icon (WordPress/gutenberg#80959)
- Flaky tests: fix router navigate latest HTML (WordPress/gutenberg#80178)
- Components: Update polymorphism types to allow all attributes when specifying `as` (WordPress/gutenberg#80705)
- Block JSON schema & PHP-only blocks: Add `autoRegister` support (WordPress/gutenberg#80173)
- Boot: Adjust specificity of the image reset styles so components can size their own images (WordPress/gutenberg#80845)
- Components: Opt-in ConfirmDialog for auto-documentation (WordPress/gutenberg#80866)
- RichText: don't apply input transform when there's no onReplace (WordPress/gutenberg#80978)
- Quote: Ensure paragraph placeholder appears after deleting nested blocks (WordPress/gutenberg#77151)
- Block editor: make the Group action wrap blocks with a group transform (WordPress/gutenberg#80891)
- Copy: preserve the block when its entire text is selected (WordPress/gutenberg#80994)
- Add opt-out for block style state controls (WordPress/gutenberg#80956)
- Upgrade Playwright to v1.62 (WordPress/gutenberg#81001)
- List View: Speed up opening by removing a forced style recalculation (WordPress/gutenberg#80929)
- Widget Dashboard: preserve widget chrome flex layout (WordPress/gutenberg#80570)
- Widget Primitives: document actions as verbs, not links (WordPress/gutenberg#80974)
- Core Data: add missing @wordpress/base-styles dependency (WordPress/gutenberg#81012)
- Ignore node_modules in schema integration test globs (WordPress/gutenberg#81013)
- RichText: fix paste handler crash when pasting files (WordPress/gutenberg#81010)
- Docs: Add VS Code setup guidance (WordPress/gutenberg#77913)
- Perf Tests: Merge selection event windows instead of summing durations (WordPress/gutenberg#81002)
- Storybook: move smoke-test deps into the storybook workspace (WordPress/gutenberg#81017)
- Unit Tests: Reorganise the jest config file. (WordPress/gutenberg#80940)
- Performance Tests: Ignore the locally generated artifacts directory (WordPress/gutenberg#81024)
- Editor: Remove sidebar tabs focus sync effect (WordPress/gutenberg#81020)
- Widgets: carry a declarative `icon` through the widget pipeline (WordPress/gutenberg#80969)
- RTC: Remove excess autosave notices (when not useful) (WordPress/gutenberg#80539)
- UI: Use focus styles from base-styles (WordPress/gutenberg#80635)
- Automated Testing: Add Storybook component documentation regression testing (WordPress/gutenberg#80655)
- Pass Playlist controls to track blocks (WordPress/gutenberg#80368)
- Components: Deprecate Surface (WordPress/gutenberg#80943)
- Tabs: Support Home and End keys for keyboard navigation (WordPress/gutenberg#80912)
- Fix typos in code `comments` and `JSDoc` (WordPress/gutenberg#81045)
- Interface: Remove incorrect aria-expanded from pin-to-toolbar button (WordPress/gutenberg#79874)
- List View: Speed up opening by removing a second render pass (WordPress/gutenberg#80935)
- Docs: Use `gutenberg` instead of `Gutenberg` in package name (WordPress/gutenberg#81051)
- Fix ESLint warnings for 'navigateRegionsProps' spread (WordPress/gutenberg#81052)
- Tests: Replace page-level selectors with locators in e2e specs (WordPress/gutenberg#81053)
- RTC: Disable custom autosave controller when RTC is disabled (WordPress/gutenberg#80769)
- Background: Fix the legacy gradient UI where a gradient cannot be selected (WordPress/gutenberg#81056)
- Rename blockStatesEnabled setting to blockStatesEditingEnabled (WordPress/gutenberg#81058)
- Background: Fix the legacy gradient UI where a gradient cannot be selected - Add missing change log (WordPress/gutenberg#81060)
- Declare missing prettier and stylelint workspace dependencies (WordPress/gutenberg#81065)
- Notes: Display shortcut for form action buttons (WordPress/gutenberg#81064)
- View config: lowercase dynamic filter names (WordPress/gutenberg#81068)
- CI: cache the system packages Playwright dowloads for WebKit (WordPress/gutenberg#80846)
- List View: Collapse off-window placeholder rows into a single spacer row (WordPress/gutenberg#80953)
- devops: balance Playwright shards by duration (WordPress/gutenberg#79479)
- Views: honor developer-defined view config overrides (WordPress/gutenberg#80832)
- Components: Migrate ItemGroup to SCSS module (WordPress/gutenberg#80797)
- Test: Add Vitest migration routing guardrails (WordPress/gutenberg#81036)
- Visual revisions: Add a code diff view inside the editor (WordPress/gutenberg#80314)
- Bump actions/labeler from 6.1.0 to 7.0.0 in /.github/workflows (WordPress/gutenberg#80966)
- Visual revisions: add shareable urls (WordPress/gutenberg#79934)
- Fix e2e tests that break when shard rebalancing changes their neighbors (WordPress/gutenberg#81117)
- Query: guard non-scalar queryId to avoid fatal in enhanced pagination (WordPress/gutenberg#80724)
- Replace deprecated useResizeObserver for useScaleCanvas (WordPress/gutenberg#67508)
- CI: Add job timeouts to E2E, static checks, bundle size, and create block (WordPress/gutenberg#80801)
- Allow organization or repository variable to dictate the Actions runner (WordPress/gutenberg#81087)
- List View: Only subscribe to the block subtree for rows that can show images (WordPress/gutenberg#81076)
- Editor: Migrate settings sidebar to Tabs from @wordpress/ui (WordPress/gutenberg#81054)
- Notes: Email users mentioned in a note (WordPress/gutenberg#79606)
- List View: Narrow the dependants of the memoized List View tree (WordPress/gutenberg#81129)
- List View: Pass only minimal required data to sub-tree branches (WordPress/gutenberg#81111)
- DataViews: Add `time` field type and control (WordPress/gutenberg#80830)
- Post Author Biography: Fix horizontal overflow with long unbroken text (WordPress/gutenberg#81018)
- Link Control: Restore the preview title underline (WordPress/gutenberg#81083)
- Views: Add React to the package's dev dependencies (WordPress/gutenberg#81139)
- feat: Add target param in proxy (WordPress/gutenberg#81141)
- Fix: flaky revisions pagination e2e cross-page diff assertion (WordPress/gutenberg#81119)
- Button: Suppress UA focus ring when focused and pressed (WordPress/gutenberg#81113)
- View config: add reference docs (WordPress/gutenberg#81149)
- Editor: Fix document tools button focus ring (WordPress/gutenberg#81115)
- List View: Replace expand/collapse callbacks with reducer dispatch (WordPress/gutenberg#81138)
- CI: resolve Playwright through the workspace that declares it (WordPress/gutenberg#81137)
- CI: build once and reuse the build across e2e tests shards (WordPress/gutenberg#81031)
- Fix: Tabs block: Start with empty tab labels with placeholders (WordPress/gutenberg#81009)
- Interface: Increase footer breadcrumb height to prevent focus ring clipping (WordPress/gutenberg#81145)
- Editor: clarify autosave failure notice (WordPress/gutenberg#76470)
- Theme: Omit color properties when neither provided nor inherited (WordPress/gutenberg#80600)
- Post editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81112)
- Core Data: saveDirtyEntities: improve messaging of server errors (WordPress/gutenberg#81151)
- Global Styles: kebab-case preset slugs when converting references to custom properties (WordPress/gutenberg#80583)
- Revise CODEOWNERS for package ownership (removing nerrad) (WordPress/gutenberg#81175)
- Build: Wrap script bundles in an IIFE to contain 'use strict' (WordPress/gutenberg#79792)
- Media: Improve the HEIC upload error and keep any upload errors up until dismissed (WordPress/gutenberg#81130)
- Block Supports: Guard against non-string attribute values to avoid fatal errors (WordPress/gutenberg#80501)
- Video: Hide settings for the GIF variation (WordPress/gutenberg#81142)
- Video: clarify the Video variation description (WordPress/gutenberg#81181)
- Media Editor: Render sidebar tabs via ComplementaryArea's render prop (WordPress/gutenberg#81133)
- Bump docker/login-action (WordPress/gutenberg#80962)
- Bump actions/setup-node from 6.4.0 to 7.0.0 in /.github/setup-node (WordPress/gutenberg#80963)
- fix(admin-ui): reset the wp-admin li margin that misaligns Breadcrumbs (WordPress/gutenberg#81134)
- Bump astral-sh/setup-uv from 8.3.2 to 9.0.0 in /.github/workflows (WordPress/gutenberg#80964)
- Fix/79643 rtc awareness mixed block selection (WordPress/gutenberg#79836)
- Agents: Add a defensive data design skill and route to the copy guide (WordPress/gutenberg#81131)
- ESLint: Ban `@ts-ignore` in favour of `@ts-expect-error` (WordPress/gutenberg#81148)
- Types: Replace remaining `@ts-expect-error` suppressions with proper typing (WordPress/gutenberg#81200)
- Button: turn on the width setting by default in theme.json (WordPress/gutenberg#81196)
- Notes: fix the mention notification email composition (WordPress/gutenberg#81187)
- Edit Widgets: Fix header toolbar button focus ring (WordPress/gutenberg#81176)
- List View: Reduce per-row store subscriptions (WordPress/gutenberg#81136)
- Customizer widgets: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81174)
- Blocks: Declare the `@types/react-is` devDependency (WordPress/gutenberg#81203)
- Widgets editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81173)
- PanelColorSettings: Restore the missing space below the panel header (WordPress/gutenberg#81155)
- Remove the editableRoot opt-in from the paragraph block (WordPress/gutenberg#81184)
- Media Attached to: Fix issue with the popover unexpectedly flipping, tweak wording (WordPress/gutenberg#81206)
- Components: Add allowForms prop to SandBox component (WordPress/gutenberg#76471)
- Ensure device preview is always accurate when window is zoomed in (WordPress/gutenberg#81193)
- DataViews: Pass only eligible items to a bulk action callback (WordPress/gutenberg#81198)
- DataViews: Make grid and table item preview aspect ratio configurable (WordPress/gutenberg#79329)
- Block Editor: Return false from isBlockSelected when there is no client ID (WordPress/gutenberg#81212)
- Blocks: Update hpq to 1.4.0 and drop the ts-expect-error suppressions (WordPress/gutenberg#81199)
- DataViews: Fix the between `date` filter losing a manually typed date on blur (WordPress/gutenberg#81150)
- Block Editor: Fix Select all freezing on large posts (WordPress/gutenberg#81210)
- List View: Split the context and drop dead props to cut re-renders on expand and collapse (WordPress/gutenberg#81159)
- Docs: Fix broken Figma links on the design resources page. (WordPress/gutenberg#81166)
- Blocks: Support static block templates in block type settings (WordPress/gutenberg#80027)
- AGENTS: Update development tips section (WordPress/gutenberg#81224)
- URLInput: Skip search requests while an IME composition is in progress (WordPress/gutenberg#80602)
- Components: Deprecate Animate (WordPress/gutenberg#80931)
- Fix: Trunk e2e failures caused by the navigation spec leaving plain permalinks (WordPress/gutenberg#81238)
- Use p elements for callout alerts in components docs (WordPress/gutenberg#81234)
- Storybook: Enable design system theme tool globally (WordPress/gutenberg#81116)
- Media: Cover client-side big image scaling and orphaned files (WordPress/gutenberg#81061)
- Footnotes: guard against invalid post meta values (WordPress/gutenberg#81201)
- Block editor: unify what a new sibling block inherits (WordPress/gutenberg#81250)
- Global Styles: Remove unused duplicate font family preview utilities (WordPress/gutenberg#81194)
- Docs: explain how the theme.json schema fixtures work (WordPress/gutenberg#81263)
- theme.json schema: fix block pseudo-classes and custom states (WordPress/gutenberg#81209)
- List View: Migrate label wrapper to UI Stack and drop Badge from the anchor (WordPress/gutenberg#81266)
- Docs: Remove dependency group import guidance (WordPress/gutenberg#81245)
- ESLint: Define dependency import rules (WordPress/gutenberg#81246)
- Flaky tests: Report as a PR comment only, stop creating issues (WordPress/gutenberg#81218)
- Dashboard Widgets: remove the Hello Dolly download action (WordPress/gutenberg#81272)
- Block Directory: Make downloadable block item labels translatable. (WordPress/gutenberg#81237)
- Icons: move the inline image icon into the library (WordPress/gutenberg#81271)
- Update phpcs, wpcs dependencies (WordPress/gutenberg#81279)
- fix: add optional chaining for empty reusable block (WordPress/gutenberg#81165) (WordPress/gutenberg#81177)
- DataViews: Inline the kebabCase utility from components (WordPress/gutenberg#81284)
- Navigation: Complete the DocBlocks for the responsive container and overlay style helpers (WordPress/gutenberg#80622)
- Style states: fix state deselection when selecting the already selected block (WordPress/gutenberg#81277)
- Fix missing return value in force_filtered_html_on_import footnotes filter (WordPress/gutenberg#81293)
- Packages: Recover July 29 npm release metadata (WordPress/gutenberg#81303)
- Global styles: render element styles set only inside a breakpoint (WordPress/gutenberg#81265)
- Style states: Fix phantom pseudo element style output (WordPress/gutenberg#81291)
- Docs: remove breakpoint-only element style example from global styles guide (WordPress/gutenberg#81308)
- Render viewport state element styles in the editor (WordPress/gutenberg#81307)
- theme.json schema: responsive states belong to blocks (WordPress/gutenberg#81253)
- theme.json schema: allow responsive states on block style variations (WordPress/gutenberg#81309)
- Block Inspector: Disable the 'Edit original' button when the entity ID is missing (WordPress/gutenberg#81288)
- Site Editor: Decode HTML entities in Identity fields (WordPress/gutenberg#81269)
- Document editEntityRecord's options.isCached param (WordPress/gutenberg#81318)
- Theme: Colocate plugin tests with implementations (WordPress/gutenberg#81247)
- Block Editor: Bail out of hasSelectedInnerBlock when there is no clientId (WordPress/gutenberg#81315)
- ESLint: Replace strict config with bulk suppressions (WordPress/gutenberg#81248)
- Block Library: Document security patch releases (WordPress/gutenberg#81295)
- ESLint: Remove legacy import suppressions (WordPress/gutenberg#81338)
- Components: Migrate Spinner styles from Emotion to SCSS module (WordPress/gutenberg#80511)
- DataViews: Use the public `@wordpress/ui` Badge instead of the private one (WordPress/gutenberg#81236)
- Pert Tests: Avoid inflating interaction metrics with startTracing (WordPress/gutenberg#81264)
- Block Editor: Simplify InspectorControlsFill rendering logic (WordPress/gutenberg#81286)
- Keycodes: Make `withIgnoreIMEEvents` a public API (WordPress/gutenberg#81343)
- Docs: Fix broken links to the removed JavaScript build setup guide. (WordPress/gutenberg#81232)
- Markdownlint: disable the MD033 (no-inline-html) rule project-wide (WordPress/gutenberg#81213)
- Docs: Fix typo in block file structure guide (WordPress/gutenberg#81348)
- Playlist: Normalize Waveform Player configuration handling (WordPress/gutenberg#81342)
- Site editor: fix unreadable sidebar hover color (WordPress/gutenberg#81317)
- Global Styles: Migrate font size presets to the shared preset layer (WordPress/gutenberg#79811)
- Block Editor: Convert useBlockVisibility hook to TypeScript (WordPress/gutenberg#80390)
- Scope breakpoint media queries to screen so printing does not look like a resize (WordPress/gutenberg#81367)
- New `kebab-case` package: extract utility and migrate private API calls (WordPress/gutenberg#81294)
- Remove content types experiment (WordPress/gutenberg#81340)
- Editor: Keep the canvas height stable while resizing the canvas (WordPress/gutenberg#81163)
- Dashboard Widgets: add icon and relevance to the widget action envelope (WordPress/gutenberg#81275)
- Playlist: Improve audio conversion and track selection (WordPress/gutenberg#80926)
- Try: Set post navigation link icon to next. (WordPress/gutenberg#81384)
- UI: Derive Base UI direction from WordPress i18n (WordPress/gutenberg#80399)
- DataViews:  Fix `array` field type validation for empty values (WordPress/gutenberg#81378)
- Bump github/codeql-action/upload-sarif (WordPress/gutenberg#81287)
- Bump actions/stale from 10.4.0 to 11.0.0 in /.github/workflows (WordPress/gutenberg#81219)
- Monitor all setup-related composite Actions. (WordPress/gutenberg#81192)
- IconButton: Improve keyboard shortcut accessibility (WordPress/gutenberg#80402)
- Interface: Stop the secondary sidebar animating into place on page load (WordPress/gutenberg#81362)
- Fix: flaky list view paste block styles e2e test (WordPress/gutenberg#81229)
- Docs: Add error message guidance. (WordPress/gutenberg#81143)
- wp-build: Render the no-JS fallback in the generated page templates (WordPress/gutenberg#81365)
- Changed Build Process Link and remove unused tags (WordPress/gutenberg#81360)
- Scripts: Prevent a UTF-8 BOM in the middle of extracted CSS (WordPress/gutenberg#81383)
- Global Styles: Migrate shadows presets to use the preset management layer. (WordPress/gutenberg#79812)
- Global Styles: report border, shadow, outline, filter and dimension changes (WordPress/gutenberg#81407)
- Dashboard Widgets: split action icons into wire and resolved forms (WordPress/gutenberg#81381)
- Block Editor: Fix Escape from the block toolbar and stop redundant last focus dispatches (WordPress/gutenberg#81319)
- Block Mover: Add the keyboard shortcut to the buttons' spoken description (WordPress/gutenberg#81380)
- Format Library: Remove unused CSS rule (WordPress/gutenberg#77831)
- Core Data: Fix post staying dirty after saving edited post meta with RTC enabled (WordPress/gutenberg#81392)
- Widget Dashboard: host-tunable tile spacing via public custom properties (WordPress/gutenberg#81352)
- DataForm: Fix hidden fields validation (WordPress/gutenberg#81377)
- Tools: Make agent setup a workspace (WordPress/gutenberg#81418)
- Test: Add private Vitest config and migrate a pilot test (WordPress/gutenberg#81037)
- Interface: Let CSS own the ComplementaryArea width and use AnimatePresence custom for exit (WordPress/gutenberg#81363)
- Notes: Fix text wrapping for long usernames in collaboration sidebar (WordPress/gutenberg#81406)
- DataViews: vendor `ValidatedSelectControl` (WordPress/gutenberg#81391)
- UI: Add `Calendar` and `RangeCalendar`, moved from `components` private APIs (WordPress/gutenberg#81337)
- Feature: Tabs block: consider using the tab title in the Document Overview instead of a generic "Tab" label (WordPress/gutenberg#81427)
- fix: order site identity changes predictably (WordPress/gutenberg#81283)
- Docs: Fix broken link to the Node.js debugging guide. (WordPress/gutenberg#81398)
- Navigation Overlay Close: Inherit typography and color from the overlay (WordPress/gutenberg#80751)
- Fix: Regression: Tabs block: Start with empty tab labels with placeholders (WordPress/gutenberg#81429)
- components/Menu: Restore Modal focus return when menu items close (WordPress/gutenberg#81164)
- DataViews: Move the rich text control into the editor package (WordPress/gutenberg#81430)
- Components: Remove ValidatedTextControl private API (WordPress/gutenberg#80680)
- Cover: Avoid passing null as the featured image size (WordPress/gutenberg#81444)
- DataViews: vendor `ValidatedNumberControl` (WordPress/gutenberg#81433)
- DataViews: vendor ValidatedCheckboxControl (WordPress/gutenberg#81435)
- DataViews: vendor ValidatedRadioControl (WordPress/gutenberg#81434)
- UI: Upgrade React DayPicker to version 10 (WordPress/gutenberg#81439)
- Block editor: render a real default block in place of the default appender (WordPress/gutenberg#81231)
- Spacing Sizes Control: Make the control label translatable independently of the input aria label. (WordPress/gutenberg#81240)
- Writing flow: stop the caret on containers that do not merge with the text flow (WordPress/gutenberg#81456)
- Remove an unmodified wrapper when all its inner blocks are removed (WordPress/gutenberg#42503)
- Normalize block gap values in layout (WordPress/gutenberg#81460)
- Docs: Add Block Actions Readme (WordPress/gutenberg#69408)
- Block editor: disclose the nested block count of a multi selection (WordPress/gutenberg#80745)
- Fix: flaky autosave shareable URL revisions e2e test. (WordPress/gutenberg#81455)
- Fix empty list block with anchor persisting after backspace deletion (WordPress/gutenberg#77000)
- Docs: Add Block List Readme (WordPress/gutenberg#69432)
- Docs: Add Block Lock Readme (WordPress/gutenberg#69434)
- Backport core fixes for finalize route (WordPress/gutenberg#81465)
- ESLint: Rename root eslint.config.cjs to eslint.config.mjs (WordPress/gutenberg#81468)
- Update 23.8 release branch  (WordPress/gutenberg#81486)
- RTC: Couple RTC and polling provider as an opt-in experiment (WordPress/gutenberg#80658)
- Align collaboration migration version markers with the 23.8.0 release (WordPress/gutenberg#81789)

Fixes #66066.
Built from https://develop.svn.wordpress.org/trunk@63534


git-svn-id: http://core.svn.wordpress.org/trunk@62710 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] Zoom Out [Type] Code Quality Issues or PRs that relate to code quality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants