REST API: Make filter_wp_unique_filename() static to match core, plus avoid duplicate routes#75782
Conversation
After WordPress/wordpress-develop#10868 (r61703), the core `WP_REST_Attachments_Controller::filter_wp_unique_filename()` method was changed to `private static`. This causes a fatal error in the Gutenberg subclass which declares it as non-static. Aligns the Gutenberg method signature with core by making it static and simplifying the parameters to match. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
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 If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Since core trunk now registers the sideload route in `WP_REST_Attachments_Controller::register_routes()`, only register it in the Gutenberg subclass when the parent class doesn't already have the `sideload_item` method. Updates the test accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Flaky tests detected in 5061dba. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/22231044443
|
… avoid duplicate routes (#75782) * REST API: Make `filter_wp_unique_filename()` static to match core After WordPress/wordpress-develop#10868 (r61703), the core `WP_REST_Attachments_Controller::filter_wp_unique_filename()` method was changed to `private static`. This causes a fatal error in the Gutenberg subclass which declares it as non-static. Aligns the Gutenberg method signature with core by making it static and simplifying the parameters to match. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Avoid duplicate sideload route registration when core already has it Since core trunk now registers the sideload route in `WP_REST_Attachments_Controller::register_routes()`, only register it in the Gutenberg subclass when the parent class doesn't already have the `sideload_item` method. Updates the test accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
… avoid duplicate routes (#75782) * REST API: Make `filter_wp_unique_filename()` static to match core After WordPress/wordpress-develop#10868 (r61703), the core `WP_REST_Attachments_Controller::filter_wp_unique_filename()` method was changed to `private static`. This causes a fatal error in the Gutenberg subclass which declares it as non-static. Aligns the Gutenberg method signature with core by making it static and simplifying the parameters to match. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Avoid duplicate sideload route registration when core already has it Since core trunk now registers the sideload route in `WP_REST_Attachments_Controller::register_routes()`, only register it in the Gutenberg subclass when the parent class doesn't already have the `sideload_item` method. Updates the test accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
|
I just cherry-picked this PR to the release/22.6 branch to get it included in the next release: f6e37c0 |
|
Yes, CI checks on the |
|
@adamsilverstein @westonruter, This PR is only for the Gutenberg plugin and has nothing to do with core, but we should backport this PR to the |
|
There should be no harm in backporting this PR to |
… avoid duplicate routes (#75782) * REST API: Make `filter_wp_unique_filename()` static to match core After WordPress/wordpress-develop#10868 (r61703), the core `WP_REST_Attachments_Controller::filter_wp_unique_filename()` method was changed to `private static`. This causes a fatal error in the Gutenberg subclass which declares it as non-static. Aligns the Gutenberg method signature with core by making it static and simplifying the parameters to match. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Avoid duplicate sideload route registration when core already has it Since core trunk now registers the sideload route in `WP_REST_Attachments_Controller::register_routes()`, only register it in the Gutenberg subclass when the parent class doesn't already have the `sideload_item` method. Updates the test accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
|
I just cherry-picked this PR to the wp/7.0 branch to get it included in the next release: 21b607c |
CI run: #11059. See #64595. --- I've included a log of the Gutenberg changes with the following command: git log --reverse --format="- %s" 23b566c72e9c4a36219ef5d6e62890f05551f6cb..022d8dd3d461f91b15c1f0410649d3ebb027207f | sed 's|#\([0-9][0-9]*\)|https://github.com/WordPress/gutenberg/pull/\1|g; /github\.com\/WordPress\/gutenberg\/pull/!d' | pbcopy - Pattern Editing: Fix nested patterns/sections (WordPress/gutenberg#75772) - QuickEdit: rename status label and remove extra labels in popup (WordPress/gutenberg#75824) - Fix block editing modes not recomputing when isolated editor value changes (WordPress/gutenberg#75821) - Synced patterns: Fix block editing mode of synced pattern content when nested in an unsynced pattern (WordPress/gutenberg#75818) - Block Support: Fix custom CSS not saved when style schema is not defined (WordPress/gutenberg#75797) - Gallery: Fixes keyboard focus escaping the lightbox overlay when navigating a gallery with Tab/Shift+Tab. (WordPress/gutenberg#75852) - Navigation Overlay Close: Set Close as default text, rather than using a placeholder (WordPress/gutenberg#75692) - RTC: Fix entity save call / initial persistence. (WordPress/gutenberg#75841) - Real-time collaboration: Improve collaboration within the same rich text (WordPress/gutenberg#75703) - Client Side Media: Add device/browser capability detection (WordPress/gutenberg#75863) - Navigation editing: simplify edit/view buttons (WordPress/gutenberg#75819) - Add core/icon block to theme.json schema (WordPress/gutenberg#75813) - Fix error when undoing newly added pattern (WordPress/gutenberg#75850) - Page List Item: Replace RawHTML with dangerouslySetInnerHTML for label and title (WordPress/gutenberg#75890) - REST API: Make filter_wp_unique_filename() static to match core, plus avoid duplicate routes (WordPress/gutenberg#75782) - RichText: useAnchor: Fix TypeError in virtual element (WordPress/gutenberg#75900) - DataViews: Remove menu divider again. (WordPress/gutenberg#75908) - Theme: Add build plugins to inject design token fallbacks (WordPress/gutenberg#75901) - Theme: Remove global stylesheet (WordPress/gutenberg#75879) - Real-time collaboration: Remove ghost awareness state explicitly when refreshing (WordPress/gutenberg#75883) - Real-time collaboration: Expand mergeCrdtBlocks() automated testing (WordPress/gutenberg#75923) - Fix client-side media file naming (WordPress/gutenberg#75817) - Add: Connectors screen (WordPress/gutenberg#75833) - Merge document meta into state map (WordPress/gutenberg#75830) - Move WordPress meta key from sync package to core-data (WordPress/gutenberg#75846) - Bugfix: Fix casing of getPersistedCRDTDoc (WordPress/gutenberg#75922) - Add debug logging to SyncManager (WordPress/gutenberg#75924) - DataForm: fix label colors (WordPress/gutenberg#75730) - DataViews: minimize padding for primary action buttons (WordPress/gutenberg#75721) (WordPress/gutenberg#75947) - Connectors: Add `_ai_` prefix to connector setting names and fix naming inconsistencies (WordPress/gutenberg#75948) - Connectors: Unhook Core callbacks in Gutenberg coexistence (WordPress/gutenberg#75935) - Unsynced patterns: Rename 'Disconnect pattern' to 'Detach pattern' in context menu (WordPress/gutenberg#75807) - Editor: Remove View dropdown and pinned items from revisions header (WordPress/gutenberg#75951) - Fix: Template revisions infinite spinner (WordPress/gutenberg#75953) - Backport: Avoid flickering while refreshing (WordPress/gutenberg#74572) (WordPress/gutenberg#75952) - Add wp_ prefix to real time collaberation option. (WordPress/gutenberg#75837) git-svn-id: https://develop.svn.wordpress.org/trunk@61750 602fd350-edb4-49c9-b593-d223f7449a82
CI run: WordPress/wordpress-develop#11059. See #64595. --- I've included a log of the Gutenberg changes with the following command: git log --reverse --format="- %s" 23b566c72e9c4a36219ef5d6e62890f05551f6cb..022d8dd3d461f91b15c1f0410649d3ebb027207f | sed 's|#\([0-9][0-9]*\)|https://github.com/WordPress/gutenberg/pull/\1|g; /github\.com\/WordPress\/gutenberg\/pull/!d' | pbcopy - Pattern Editing: Fix nested patterns/sections (WordPress/gutenberg#75772) - QuickEdit: rename status label and remove extra labels in popup (WordPress/gutenberg#75824) - Fix block editing modes not recomputing when isolated editor value changes (WordPress/gutenberg#75821) - Synced patterns: Fix block editing mode of synced pattern content when nested in an unsynced pattern (WordPress/gutenberg#75818) - Block Support: Fix custom CSS not saved when style schema is not defined (WordPress/gutenberg#75797) - Gallery: Fixes keyboard focus escaping the lightbox overlay when navigating a gallery with Tab/Shift+Tab. (WordPress/gutenberg#75852) - Navigation Overlay Close: Set Close as default text, rather than using a placeholder (WordPress/gutenberg#75692) - RTC: Fix entity save call / initial persistence. (WordPress/gutenberg#75841) - Real-time collaboration: Improve collaboration within the same rich text (WordPress/gutenberg#75703) - Client Side Media: Add device/browser capability detection (WordPress/gutenberg#75863) - Navigation editing: simplify edit/view buttons (WordPress/gutenberg#75819) - Add core/icon block to theme.json schema (WordPress/gutenberg#75813) - Fix error when undoing newly added pattern (WordPress/gutenberg#75850) - Page List Item: Replace RawHTML with dangerouslySetInnerHTML for label and title (WordPress/gutenberg#75890) - REST API: Make filter_wp_unique_filename() static to match core, plus avoid duplicate routes (WordPress/gutenberg#75782) - RichText: useAnchor: Fix TypeError in virtual element (WordPress/gutenberg#75900) - DataViews: Remove menu divider again. (WordPress/gutenberg#75908) - Theme: Add build plugins to inject design token fallbacks (WordPress/gutenberg#75901) - Theme: Remove global stylesheet (WordPress/gutenberg#75879) - Real-time collaboration: Remove ghost awareness state explicitly when refreshing (WordPress/gutenberg#75883) - Real-time collaboration: Expand mergeCrdtBlocks() automated testing (WordPress/gutenberg#75923) - Fix client-side media file naming (WordPress/gutenberg#75817) - Add: Connectors screen (WordPress/gutenberg#75833) - Merge document meta into state map (WordPress/gutenberg#75830) - Move WordPress meta key from sync package to core-data (WordPress/gutenberg#75846) - Bugfix: Fix casing of getPersistedCRDTDoc (WordPress/gutenberg#75922) - Add debug logging to SyncManager (WordPress/gutenberg#75924) - DataForm: fix label colors (WordPress/gutenberg#75730) - DataViews: minimize padding for primary action buttons (WordPress/gutenberg#75721) (WordPress/gutenberg#75947) - Connectors: Add `_ai_` prefix to connector setting names and fix naming inconsistencies (WordPress/gutenberg#75948) - Connectors: Unhook Core callbacks in Gutenberg coexistence (WordPress/gutenberg#75935) - Unsynced patterns: Rename 'Disconnect pattern' to 'Detach pattern' in context menu (WordPress/gutenberg#75807) - Editor: Remove View dropdown and pinned items from revisions header (WordPress/gutenberg#75951) - Fix: Template revisions infinite spinner (WordPress/gutenberg#75953) - Backport: Avoid flickering while refreshing (WordPress/gutenberg#74572) (WordPress/gutenberg#75952) - Add wp_ prefix to real time collaberation option. (WordPress/gutenberg#75837) Built from https://develop.svn.wordpress.org/trunk@61750 git-svn-id: http://core.svn.wordpress.org/trunk@61056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Summary
Gutenberg_REST_Attachments_Controller::filter_wp_unique_filename()private staticto match the coreWP_REST_Attachments_Controllerparent class after Editor: PHP backports for Client Side Media wordpress-develop#10868 (r61703)sideload_item()to usestatic functionandself::accordinglyContext
After the client-side media processing PHP backports were committed to WordPress core trunk (r61703), the core
WP_REST_Attachments_Controller::filter_wp_unique_filename()method was declared asprivate static. The Gutenberg subclass still had it as a non-staticprivatemethod, causing a fatal error:Test plan
🤖 Generated with Claude Code