Skip to content

Conversation

talldan
Copy link
Contributor

@talldan talldan commented Jul 9, 2025

What?

Fixes #70647

Some users started experiencing errors after Gutenberg 21.1. Example here - https://wordpress.org/support/topic/unexpected-error-after-updating-to-21-1-0/.

From my testing, this seems to be caused by an incompatibility between gutenberg and the AMP plugin (cc @westonruter, @swissspidy). There may also be other plugins that have similar issues.

After #70405 the MediaUpload filter instead started receiving a function component instead of a class component.

I think this is the relevant code in AMP - https://github.com/ampproject/amp-wp/blob/7b4ed4c001cdc0fbf9adb518fb0b8e1ddebf4d5a/assets/src/block-editor/components/with-media-library-notice.js.

Notice that it calls extend on the InitialMediaUpload arg from the filter, so when a function component started being used this failed. This code seems like it has the potential to cause lots of general incompatibilities, for example if other plugins use the filter and modify the return results.

To temporarily fix this I'm proposing to partially revert #70405 and release a hotfix with that change.

Testing Instructions

  1. Install the AMP plugin
  2. Try editing a post
  3. Ensure the post editor loads
  4. Try inserting and editing a paragraph.

@talldan talldan self-assigned this Jul 9, 2025
Copy link

github-actions bot commented Jul 9, 2025

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.

Unlinked Accounts

The following contributors have not linked their GitHub and WordPress.org accounts: @sunnykasera3107.

Contributors, please read how to link your accounts to ensure your work is properly credited in WordPress releases.

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

Unlinked contributors: sunnykasera3107.

Co-authored-by: talldan <talldanwp@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@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.

@talldan talldan added [Type] Bug An existing feature does not function as intended [Feature] Media Anything that impacts the experience of managing media labels Jul 9, 2025
Copy link
Member

@Mamaduka Mamaduka left a comment

Choose a reason for hiding this comment

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

Makes sense ✅

Copy link

github-actions bot commented Jul 9, 2025

Size Change: -74 B (0%)

Total Size: 1.89 MB

Filename Size Change
build/editor/index.min.js 119 kB -74 B (-0.06%)
ℹ️ 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/form/view.min.js 533 B
build-module/block-library/image/view.min.js 1.78 kB
build-module/block-library/navigation/view.min.js 1.19 kB
build-module/block-library/query/view.min.js 767 B
build-module/block-library/search/view.min.js 639 B
build-module/interactivity-router/full-page.min.js 565 B
build-module/interactivity-router/index.min.js 11.4 kB
build-module/interactivity/debug.min.js 17.5 kB
build-module/interactivity/index.min.js 13.9 kB
build/a11y/index.min.js 952 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.4 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.18 kB
build/block-directory/style-rtl.css 1.03 kB
build/block-directory/style.css 1.03 kB
build/block-editor/content-rtl.css 4.43 kB
build/block-editor/content.css 4.42 kB
build/block-editor/default-editor-styles-rtl.css 392 B
build/block-editor/default-editor-styles.css 392 B
build/block-editor/index.min.js 264 kB
build/block-editor/style-rtl.css 15.9 kB
build/block-editor/style.css 15.9 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 554 B
build/block-library/blocks/button/style.css 554 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 349 B
build/block-library/blocks/buttons/style.css 349 B
build/block-library/blocks/calendar/style-rtl.css 239 B
build/block-library/blocks/calendar/style.css 239 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 191 B
build/block-library/blocks/comment-template/style.css 191 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 168 B
build/block-library/blocks/comments-pagination/editor.css 168 B
build/block-library/blocks/comments-pagination/style-rtl.css 201 B
build/block-library/blocks/comments-pagination/style.css 201 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 842 B
build/block-library/blocks/comments/editor.css 842 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 349 B
build/block-library/blocks/form-input/style.css 349 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/freeform/editor-rtl.css 2.59 kB
build/block-library/blocks/freeform/editor.css 2.59 kB
build/block-library/blocks/gallery/editor-rtl.css 615 B
build/block-library/blocks/gallery/editor.css 616 B
build/block-library/blocks/gallery/style-rtl.css 1.84 kB
build/block-library/blocks/gallery/style.css 1.84 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 353 B
build/block-library/blocks/html/editor.css 354 B
build/block-library/blocks/image/editor-rtl.css 763 B
build/block-library/blocks/image/editor.css 763 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 520 B
build/block-library/blocks/latest-posts/style.css 520 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 543 B
build/block-library/blocks/media-text/style.css 542 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 566 B
build/block-library/blocks/navigation-link/editor.css 568 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.23 kB
build/block-library/blocks/navigation/editor.css 2.24 kB
build/block-library/blocks/navigation/style-rtl.css 2.26 kB
build/block-library/blocks/navigation/style.css 2.25 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 251 B
build/block-library/blocks/paragraph/editor.css 251 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/style-rtl.css 188 B
build/block-library/blocks/post-author/style.css 189 B
build/block-library/blocks/post-comments-count/style-rtl.css 72 B
build/block-library/blocks/post-comments-count/style.css 72 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-comments-link/style-rtl.css 71 B
build/block-library/blocks/post-comments-link/style.css 71 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 722 B
build/block-library/blocks/post-featured-image/editor.css 720 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/style-rtl.css 414 B
build/block-library/blocks/post-template/style.css 414 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 133 B
build/block-library/blocks/pullquote/editor.css 133 B
build/block-library/blocks/pullquote/style-rtl.css 365 B
build/block-library/blocks/pullquote/style.css 365 B
build/block-library/blocks/pullquote/theme-rtl.css 176 B
build/block-library/blocks/pullquote/theme.css 176 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-total/style-rtl.css 64 B
build/block-library/blocks/query-total/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 404 B
build/block-library/blocks/query/editor.css 404 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 131 B
build/block-library/blocks/read-more/style.css 131 B
build/block-library/blocks/rss/editor-rtl.css 126 B
build/block-library/blocks/rss/editor.css 126 B
build/block-library/blocks/rss/style-rtl.css 284 B
build/block-library/blocks/rss/style.css 283 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 674 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/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 773 B
build/block-library/blocks/site-logo/editor.css 770 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 314 B
build/block-library/blocks/social-link/editor.css 314 B
build/block-library/blocks/social-links/editor-rtl.css 339 B
build/block-library/blocks/social-links/editor.css 338 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.51 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 92 B
build/block-library/blocks/tag-cloud/editor.css 92 B
build/block-library/blocks/tag-cloud/style-rtl.css 248 B
build/block-library/blocks/tag-cloud/style.css 248 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.2 kB
build/block-library/editor.css 11.2 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/index.min.js 229 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 715 B
build/block-library/theme.css 719 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.6 kB
build/commands/index.min.js 16.2 kB
build/commands/style-rtl.css 956 B
build/commands/style.css 952 B
build/components/index.min.js 249 kB
build/components/style-rtl.css 13.4 kB
build/components/style.css 13.4 kB
build/compose/index.min.js 12.8 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 11 kB
build/customize-widgets/style-rtl.css 1.43 kB
build/customize-widgets/style.css 1.43 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.67 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.68 kB
build/edit-post/classic-rtl.css 577 B
build/edit-post/classic.css 578 B
build/edit-post/index.min.js 13.5 kB
build/edit-post/style-rtl.css 2.77 kB
build/edit-post/style.css 2.77 kB
build/edit-site/index.min.js 227 kB
build/edit-site/posts-rtl.css 8.49 kB
build/edit-site/posts.css 8.49 kB
build/edit-site/style-rtl.css 14.6 kB
build/edit-site/style.css 14.6 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.05 kB
build/edit-widgets/style.css 4.06 kB
build/editor/style-rtl.css 9.06 kB
build/editor/style.css 9.06 kB
build/element/index.min.js 4.82 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.17 kB
build/format-library/style-rtl.css 472 B
build/format-library/style.css 472 B
build/hooks/index.min.js 1.65 kB
build/html-entities/index.min.js 467 B
build/i18n/index.min.js 2.23 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 847 B
build/list-reusable-blocks/style.css 848 B
build/media-utils/index.min.js 3.69 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.62 kB
build/nux/style-rtl.css 767 B
build/nux/style.css 763 B
build/patterns/index.min.js 7.36 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 551 B
build/preferences/style.css 552 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 978 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.53 kB
build/reusable-blocks/style-rtl.css 255 B
build/reusable-blocks/style.css 255 B
build/rich-text/index.min.js 10.3 kB
build/router/index.min.js 5.44 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.96 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

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 digging into this one! Yes, I think a partial revert for now sounds like a good way to handle it 👍
(As an aside, fascinating that the original component was being extended by plugins... I'd always assumed folks would replace rather than extend)

@ramonjd
Copy link
Member

ramonjd commented Jul 9, 2025

Thanks for the quick fix 🙇🏻

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

Unfortunately it looks like there are some CI errors with the PHP unit tests:

✖ Error while running docker compose command.
 Container 34897e1850d618b89954e510f52aa54b-tests-mysql-1  Running
 Container 34897e1850d618b89954e510f52aa54b-tests-wordpress-1  Running
Error: Error establishing a database connection. This either means that the username and password information in your `wp-config.php` file is incorrect or that contact with the database server at `tests-mysql` could not be established. This could mean your host’s database server is down.

Kinda random.

@Mamaduka
Copy link
Member

Mamaduka commented Jul 9, 2025

Unfortunately it looks like there are some CI errors with the PHP unit tests.

I'm seeing those a lot lately. Our Docker env is becoming unstable 😢

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

I'm seeing those a lot lately. Our Docker env is becoming unstable 😢

Yeah, it's curious it happens in CI, but not in my local env so much.

I've tried re-running the tests a few times now, but I'll try some more 😄

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

I don't think we'll be getting this to pass by re-running the tests.

This is the previous discussion around this error - wp-env Error while running docker compose command.

Having said that, it's quite a generic error, so it might not always be the same issue.

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

Slightly different error on the latest try -

#14 [tests-wordpress  8/19] RUN apt-get -qy update
#14 0.163 Get:1 http://security.debian.org/debian-security bullseye-security InRelease [27.2 kB]
#14 0.250 Get:2 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [384 kB]
#14 0.267 Get:3 http://deb.debian.org/debian bullseye InRelease [116 kB]
#14 0.311 Get:4 http://deb.debian.org/debian bullseye-updates InRelease [44.0 kB]
#14 0.393 Get:5 http://deb.debian.org/debian bullseye/main amd64 Packages [8066 kB]
#14 0.498 Err:5 http://deb.debian.org/debian bullseye/main amd64 Packages
#14 0.498   Hash Sum mismatch
#14 0.498   Hashes of expected file:
#14 0.498    - Filesize:8065948 [weak]
#14 0.498    - SHA256:1c3405444297ead864711c18e64bce4810db63b48340a2f9d81182d9f235ad71
#14 0.498    - MD5Sum:3f295870f9fb53bfa40657056f49ab67 [weak]
#14 0.498   Hashes of received file:
#14 0.498    - SHA256:0571735d91ac847a4443d1f7ffd71ff1bc35c7a68ce6bf9cc3d58dc5b02f853d
#14 0.498    - MD5Sum:5c8b3a8[153](https://github.com/WordPress/gutenberg/actions/runs/16160702214/job/45613595449?pr=70648#step:10:154)e0f044daa0e8547e9bdafc [weak]
#14 0.498    - Filesize:8065948 [weak]
#14 0.498   Last modification reported: Sat, 31 Aug 2024 10:41:09 +0000
#14 0.498   Release file created at: Sat, 31 Aug 2024 11:02:15 +0000
#14 0.517 Get:6 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [18.8 kB]
#14 0.524 Fetched 8656 kB in 0s (22.8 MB/s)
#14 0.524 Reading package lists...
#14 0.552 E: Failed to fetch http://deb.debian.org/debian/dists/bullseye/main/binary-amd64/by-hash/SHA256/1c3405444297ead864711c18e64bce4810db63b48340a2f9d81182d9f235ad71  Hash Sum mismatch
#14 0.552    Hashes of expected file:
#14 0.552     - Filesize:8065948 [weak]
#14 0.552     - SHA256:1c3405444297ead864711c18e64bce4810db63b48340a2f9d81182d9f235ad71
#14 0.552     - MD5Sum:3f295870f9fb53bfa40657056f49ab67 [weak]
#14 0.552    Hashes of received file:
#14 0.552     - SHA256:0571735d91ac847a4443d1f7ffd71ff1bc35c7a68ce6bf9cc3d58dc5b02f853d
#14 0.552     - MD5Sum:5c8b3a8153e0f044daa0e8547e9bdafc [weak]
#14 0.552     - Filesize:8065948 [weak]
#14 0.552    Last modification reported: Sat, 31 Aug 2024 10:41:09 +0000
#14 0.552    Release file created at: Sat, 31 Aug 2024 11:02:15 +0000
#14 0.552 E: Some index files failed to download. They have been ignored, or old ones used instead.
#14 ERROR: process "/bin/sh -c apt-get -qy update" did not complete successfully: exit code: 100

When testing locally I don't get this at all, so it's very unusual. Other CI tests also not experiencing the same issue.

@talldan talldan force-pushed the fix/media-library-error branch from 5e70d44 to 31b1b6f Compare July 9, 2025 06:29
@Mamaduka
Copy link
Member

Mamaduka commented Jul 9, 2025

The same checks also started failing on my old PR. It could be an upstream issue.

@ramonjd
Copy link
Member

ramonjd commented Jul 9, 2025

E: Some index files failed to download.

Might be a debian package server issue... seems to be up. 🤔

I tried cleaning out the local repository of retrieved package files using apt-get clean and they pass?

https://github.com/WordPress/gutenberg/pull/70652/files#diff-2dcf5152e9f6c1686380bd1c3a9e2d7110c56ad888e5a5822413154a3275ef1eR199

I really don't know why though 😄

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

Might be a debian package server issue... seems to be up. 🤔

I tried cleaning out the local repository of retrieved package files using apt-get clean and they pass?

When I asked copilot to explain the error it also said to do that. 😄

It seems like it clears the local cache of downloaded packages.

I think we should do it, and then we can also remove that line later if the error seems to go away.

I also wonder if clearing the caches here will help - https://github.com/WordPress/gutenberg/actions/caches

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

I also wonder if clearing the caches here will help - https://github.com/WordPress/gutenberg/actions/caches

I just tried deleting the cache for this PR, now re-running again.

@ramonjd
Copy link
Member

ramonjd commented Jul 9, 2025

I also wonder if clearing the caches here will help

Screenshot 2025-07-09 at 5 27 53 pm

Looks like we're in the red 🤣

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

Looks like we're in the red 🤣

'Approaching' the limit, like approaching an event horizon.

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

Still failed after deleting the github actions cache.

I tried cleaning out the local repository of retrieved package files using apt-get clean and they pass?

I've pushed this change 🤞

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

Still failed.

I think this PR is cursed as Ramon's version #70652 seems to be passing.

@ramonjd
Copy link
Member

ramonjd commented Jul 9, 2025

🤞🏻 they're passing now.

Maybe it's just flakey.

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

I cleared the actions caches again, maybe that did the trick.

Just a waiting game now.

@talldan talldan merged commit 9504e40 into trunk Jul 9, 2025
99 of 136 checks passed
@talldan talldan deleted the fix/media-library-error branch July 9, 2025 08:12
@github-actions github-actions bot added this to the Gutenberg 21.2 milestone Jul 9, 2025
@talldan talldan modified the milestones: Gutenberg 21.2, Gutenberg 21.1 Jul 9, 2025
talldan added a commit that referenced this pull request Jul 9, 2025
…lter (#70648)

* Media library modal: Ensure modal is passed into filter as a class component to prevent upstream errors in plugins

* Revert media upload invalidation change

* Clean packages before running apt-get update - kudos @ramonjd

----

Unlinked contributors: sunnykasera3107.

Co-authored-by: talldan <talldanwp@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>
@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

Thanks for your help getting this across the line folks!

@swissspidy
Copy link
Member

@talldan thanks for bringing this to my attention.

Agreed that MediaUpload not being a class component anymore is a breaking change.

I actually just saw #70405 yesterday by chance and was wondering why it was solved this way.

#70397 mentions stale data when dragging images into the canvas and then opening the media inserter. This has nothing to do with the <MediaModal> component, which is for the classic media modal in WordPress. It wasn't mentioned in the bug report at all. Plus, simply calling invalidateResolutionForStoreSelector upon onClose there is super wasteful. Closing the modal does not mean I have actually uploaded anything.

The receiveEntityRecords part in onFileChange when calling uploadMedia() is more interesting. I've done something similar in the new client-side media processing logic, see https://github.com/swissspidy/media-experiments/blob/51064c256988f7ce863dfb3c90d66b0e69d07946/packages/editor/src/init/index.ts#L50-L58 (note onSuccess vs onFileChange)
But there I am only invalidating the resolution for a single item. Would a call to receiveEntityRecords() replace this or be a good addition to that?

@talldan
Copy link
Contributor Author

talldan commented Jul 9, 2025

#70397 mentions stale data when dragging images into the canvas and then opening the media inserter. This has nothing to do with the component, which is for the classic media modal in WordPress. It wasn't mentioned in the bug report at all.

It was another case that I noticed while working on the problem, it is mentioned in the testing steps in the PR.

Plus, simply calling invalidateResolutionForStoreSelector upon onClose there is super wasteful. Closing the modal does not mean I have actually uploaded anything.

Yeah, it's admittedly subpar. Maybe there are other integration points for cache invalidation, but I didn't spot any obvious ones.

But there I am only invalidating the resolution for a single item. Would a call to receiveEntityRecords() replace this or be a good addition to that?

I think you can also invalidate getMediaItems the same way you are in that code for getMedia. receiveEntityRecords is useful when the invalidating code already has a record or records for the store to receive.

There's another issue I've noticed since working on #70405. Some code might interact with media items via a call like getEntityRecords( 'postType', 'attachment' ). I think it calls through to the same REST API endpoint, but from what I can tell the redux store maintains a separate cache to records accessed via getMediaItems / getEntityRecords( 'root', 'media' ).

In the long run I think it might be an option to try relocating some of the code from the media-utils package to the core-data package and make sure that invalidation is built-in, but it would be a bigger piece of work.

cbravobernal pushed a commit that referenced this pull request Jul 15, 2025
…lter (#70648)

* Media library modal: Ensure modal is passed into filter as a class component to prevent upstream errors in plugins

* Revert media upload invalidation change

* Clean packages before running apt-get update - kudos @ramonjd

----

Unlinked contributors: sunnykasera3107.

Co-authored-by: talldan <talldanwp@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[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.

TypeError: Class constructors cannot be invoked without 'new'
5 participants