Repository navigation
Core Data: remove offset param from stableKey, use pagination logic - #76808
Conversation
|
Size Change: +2 B (0%) Total Size: 7.73 MB
ℹ️ View Unchanged
|
|
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. |
|
Flaky tests detected in 4ca4323. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/23744640133
|
andrewserong
left a comment
There was a problem hiding this comment.
Thanks for the ping and follow-up! The issue was encountered while #74378 was being reviewed and tested, which updating infinite scroll behaviour, but the feature isn't actively being used in Gutenberg yet (the behaviour in Storybook is working well, but there was still some bugginess when used in the experimental media modal, so it was removed before landing).
However, we can hack it in locally using the following (borrowed from that PR) to verify that the problem where the last "page" of results wasn't loaded, is still resolved with this change:
diff --git a/packages/media-utils/src/components/media-upload-modal/index.tsx b/packages/media-utils/src/components/media-upload-modal/index.tsx
index 6b571964209..726857536e0 100644
--- a/packages/media-utils/src/components/media-upload-modal/index.tsx
+++ b/packages/media-utils/src/components/media-upload-modal/index.tsx
@@ -196,13 +196,14 @@ export function MediaUploadModal( {
titleField: 'title',
mediaField: 'media_thumbnail',
search: '',
- page: 1,
+ startPosition: 1,
perPage: 50,
filters: [],
layout: {
previewSize: 170,
density: 'compact',
},
+ infiniteScrollEnabled: true,
} ) );
// Build query args based on view properties, similar to PostList
@@ -243,6 +244,21 @@ export function MediaUploadModal( {
: allowedTypes;
}
+ // For infinite scroll, use offset-based pagination
+ // For regular pagination, use page-based pagination
+ if ( view.infiniteScrollEnabled && view.startPosition !== undefined ) {
+ return {
+ offset: view.startPosition - 1,
+ per_page: view.perPage || 20,
+ status: 'inherit',
+ order: view.sort?.direction,
+ orderby: view.sort?.field,
+ search: view.search,
+ ...filters,
+ };
+ }
+
+ // Regular page-based pagination
return {
per_page: view.perPage || 20,
page: view.page || 1,
@@ -443,13 +459,16 @@ export function MediaUploadModal( {
[ allowedTypes, handleUpload, registerBatch ]
);
- const paginationInfo = useMemo(
- () => ( {
- totalItems,
- totalPages,
- } ),
- [ totalItems, totalPages ]
- );
+ const prevPaginationInfoRef = useRef( { totalItems: 0, totalPages: 0 } );
+
+ const paginationInfo = useMemo( () => {
+ // Only update when we have valid values (not both 0)
+ // to avoid showing 0 values during data fetching
+ if ( totalItems > 0 || totalPages > 0 ) {
+ prevPaginationInfoRef.current = { totalItems, totalPages };
+ }
+ return prevPaginationInfoRef.current;
+ }, [ totalItems, totalPages ] );
const defaultLayouts = useMemo(
() => ( {
Then, we can enable the media modal experiment in Gutenberg and try it out when selecting a featured image block:
With all that, I'm seeing the same behaviour in trunk as in this PR, and the last "page" of results is correctly loaded with this PR applied. To test, I'm comparing the classic media library at http://localhost:8888/wp-admin/upload.php and making sure that the last items are appearing for me in that view, and in the modal view in the editor.
So, this is looking like a good direction to me, and the logic change makes good sense to me, with offset being used to set the range to update in getMergedItemItds 👍
It sounds like you wanted to do a bit more refactoring before landing? I'm travelling at the moment, so apologies if I don't get back to you quickly once you've done further updates, but feel free to land this if/when you're happy with it.
| const startOffset = | ||
| perPage === -1 ? 0 : queryOffset ?? ( page - 1 ) * perPage; |
There was a problem hiding this comment.
The page argument is now ignored when offset is provided. Is this something we want to document for our consumers?
There was a problem hiding this comment.
Yes, offset takes precedence over page. That's also how the server endpoint behaves. Query like this:
// can be ran in console
await wp.apiFetch({ path:'/wp/v2/media?offset=4&page=2&per_page=2' })will return items at offset=4 and the page=2 param will be ignored.
Where would be the best place to document this? The getEntityRecords selector doesn't document its query parameters.
There was a problem hiding this comment.
Since we're dealing with general pagination params for the REST API, maybe it should be clarified in its docs: https://developer.wordpress.org/rest-api/using-the-rest-api/pagination/#pagination-parameters.
It's not a blocker here, just wanted to leave a note as I was reviewing PR.
I applied the diff locally, and yes, it sort of works now. At least the queries and the merged items in Core Data state look right. However, the All in all, the fetching seems OK, but the scroll behavior is looping and jumping a lot. |
Yes, that's what I'm seeing too (either with it applied on trunk or applied on top of this PR). That'll definitely need to be looked into (and fixed) before we opt-in to the support properly! |
6b83ff2 to
9975ba5
Compare
There was a problem hiding this comment.
Maybe we should add a unit test for the new offset option, currently we're testing it indirectly in a different test suite.
| } | ||
| const nextItemIdsStartIndex = ( page - 1 ) * perPage; | ||
|
|
||
| const nextItemIdsStartIndex = offset ?? ( ( page ?? 1 ) - 1 ) * perPage; |
There was a problem hiding this comment.
Should we guard against possible NaN when the options parameter is omitted?
This isn't really a case at the moment, and even with #76406, we can make this work, but it might be worth hardening.
There was a problem hiding this comment.
If options are omitted, then the only thing we are missing is perPage, is that right? And the best default seems to be -1. getMergedItemIds without any options will simply replace itemIds with nextItemIds, without any merging.
The equivalent REST request (to /wp/v2/media, for example) will return only the first page of results, with per_page defaulting to 10. But here it's getQueryParts who will provide the defaults.
There was a problem hiding this comment.
If options are omitted, then the only thing we are missing is perPage, is that right?
That's correct, and nextItemIdsStartIndex will be NaN.
And the best default seems to be -1. getMergedItemIds with no options simply replaces itemIds with nextItemIds, without any merging.
Do you think that could introduce any side effects?
P.S. If we decide to provide a default during destructions, we could do the same for page and simplify this - ( ( page ?? 1 ) - 1 ).
There was a problem hiding this comment.
We can apply the same defaults as getQueryParts does: page = 1 and perPage = 10. Then they will be duplicated, not beautiful, but OK.
The unbounded query with perPage = -1 has some edge cases that are buggy across the entire stack.
What if I fetch with both page and perPage=-1 specified?
wp.apiFetch( { path: '/wp/v2/media?page=2&per_page=-1' } )Then the fetchAllMiddleware helper will do a series of per_page=100 fetches and will concat them together. The result is an array of items from index 100 to the end. page=3 will start at 200, etc.
The getQueriedItems( { page: 2, perPage: -1 } ) selector will ignore the page argument and will return the entire set. That's different from apiFetch.
The getMergedItems( current, next, { page: 2, perPage: -1 } ) helper? Before this PR, it would set nextItemIdsStartIndex = -1 and continue calculating some nonsense result. After this PR, it ignores the page parameter and returns the entire set. Same as getQueriedItems, different from apiFetch.
Things will outright break when the query is { offset: 10, perPage: -1 }. apiFetch will be sending requests like:
/wp/v2/media?offset=10&per_page=100
/wp/v2/media?offset=10&per_page=100&page=2
/wp/v2/media?offset=10&per_page=100&page=3
/wp/v2/media?offset=10&per_page=100&page=4
Because the offset parameter takes precedence over page, the fetch result will be 4 times the same array, concatenated together.
getQueriedItems and getMergedItemIds, will return the entire set for this query, ignoring the offset parameter.
Nothing of this is really new.
There was a problem hiding this comment.
We can apply the same defaults as getQueryParts does: page = 1 and perPage = 10. Then they will be duplicated, not beautiful, but OK.
Sounds good. I'll continue work on my pagination PR after this is merged.
Nothing of this is really new.
Definitely, but it's worth documenting and addressing separately if we can. I think, with DataViews being used more in core and by 3rd-party consumers, folks might run into these edge cases more often.
There was a problem hiding this comment.
@Mamaduka I added defaults to getMergedItemIds options, as discussed, and also added one new unit test for the queries reducer.
Definitely, but it's worth documenting and addressing separately if we can.
I'll start a separate PR for this, adding warnings at various places about conflicting page, offset and perPage values.
I think I addressed all feedback, let me know if anything is still missing.
…76808) * Core Data: remove offset param from stableKey, use pagination logic * getMergedItemIds: refactor to options object * getQueryParts: update offset jsdoc and type * getQueryParts: improve jsdoc * getMergedItemIds: defaults for page and perPage * Reducer unit test for sparse items at given offsets Co-authored-by: jsnajdr <jsnajdr@git.wordpress.org> Co-authored-by: Mamaduka <mamaduka@git.wordpress.org> Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
…76808) * Core Data: remove offset param from stableKey, use pagination logic * getMergedItemIds: refactor to options object * getQueryParts: update offset jsdoc and type * getQueryParts: improve jsdoc * getMergedItemIds: defaults for page and perPage * Reducer unit test for sparse items at given offsets Co-authored-by: jsnajdr <jsnajdr@git.wordpress.org> Co-authored-by: Mamaduka <mamaduka@git.wordpress.org> Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
…76808) * Core Data: remove offset param from stableKey, use pagination logic * getMergedItemIds: refactor to options object * getQueryParts: update offset jsdoc and type * getQueryParts: improve jsdoc * getMergedItemIds: defaults for page and perPage * Reducer unit test for sparse items at given offsets Co-authored-by: jsnajdr <jsnajdr@git.wordpress.org> Co-authored-by: Mamaduka <mamaduka@git.wordpress.org> Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
| // The defaults for `page` and `perPage` are the same as in `getQueryParts`. | ||
| { page = 1, offset, perPage = 10 } = {} | ||
| ) { | ||
| // If the query is unbounded, then `nextItemIds` is a complete replacement. | ||
| if ( perPage === -1 ) { |
There was a problem hiding this comment.
Cross-posting for future reference. It looks like we accidentally introduced regression here. See - #76406 (comment).
This updates the pinned commit hash of the Gutenberg repository from `3166ad3c587b4091f77b0e16affeed5762e193f1` (version `22.8.0`) to `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.8.0..v22.9.0. The following commits are included: - Real Time Collaboration: Introduce filters for the polling intervals. (WordPress/gutenberg#76518) - UI: Update @base-ui/react from 1.2.0 to 1.3.0 (WordPress/gutenberg#76603) - Card: Use Text component for Title typography (WordPress/gutenberg#76642) - Add TypeScript parser tests for shouldSkipReference (WordPress/gutenberg#76611) - Update changelog link for pull request 11276 (WordPress/gutenberg#76638) - ThemeProvider: Add `cursor` prop (WordPress/gutenberg#76410) - RTC: Fix RichTextData deserialization (WordPress/gutenberg#76607) - Cross Origin Isolation: Remove `img` from the list of elements that get mutated (WordPress/gutenberg#76618) - RTC: Scroll to collaborator on click (WordPress/gutenberg#76561) - Fix backport changelog filename (WordPress/gutenberg#76651) - Build: Skip non-minified build for WASM-inlined workers (WordPress/gutenberg#76615) - Improvements to dataviews infinite scroll (WordPress/gutenberg#74378) - Image/Site Logo: hide crop toolbar when editMediaEntity is unavailable (WordPress/gutenberg#76626) - Bump lodash from 4.17.21 to 4.17.23 in /platform-docs (WordPress/gutenberg#74829) - RTC: Change RTC option name (WordPress/gutenberg#76643) - Change from PR WordPress/gutenberg#11276 to WordPress/gutenberg#11234 with with different approach (WordPress/gutenberg#76661) - Build: Fix vips worker 404 when SCRIPT_DEBUG is true (WordPress/gutenberg#76657) - Build: Remove unused JXL WASM module from vips worker (WordPress/gutenberg#76639) - Storybook: disabled autodocs for Icon library (WordPress/gutenberg#76620) - Connectors: fix button size (WordPress/gutenberg#76582) - Revisions: Add Meta fields diff panel to document sidebar (WordPress/gutenberg#76341) - Reduce the added halo for selected block. (WordPress/gutenberg#76619) - Site Editor > Pages: move view config to the server (WordPress/gutenberg#76573) - ui/Tabs: add runtime validation for tab/panel mismatches (WordPress/gutenberg#75170) - Fix Color Picker Angle Reset on Gradient Type Change (WordPress/gutenberg#76595) - ESLint: Add `no-unmerged-classname` rule (WordPress/gutenberg#76458) - RTC: Backport race condition fix (WordPress/gutenberg#76649) - ui/Card: Add overflow: clip to root container (WordPress/gutenberg#76678) - Storybook: Make "introduction" top level (WordPress/gutenberg#76671) - Fix navigation block rendering unit test (WordPress/gutenberg#76685) - Hide Additional CSS controls when block is inside contentOnly editing mode (WordPress/gutenberg#76512) - RTC: Increase polling intervals, increase polling on primary room only (WordPress/gutenberg#76704) - Navigation: Avoid List View changing position when navigation block saves (WordPress/gutenberg#76659) - Fix navigation block unit test and e2e test (WordPress/gutenberg#76692) - Stretchy Text: Fix focus loss (WordPress/gutenberg#75092) - Fix locked content when switching to a different template without exiting 'Edit pattern' (WordPress/gutenberg#76710) - Guidelines: Improvements to the UX (WordPress/gutenberg#76383) - Fix: Create custom template modal content width (WordPress/gutenberg#76713) - Core Data: Optimize getRawEntityRecord selector (WordPress/gutenberg#76632) - Metabox: Fix checkbox style in sidebar (WordPress/gutenberg#76718) - Stop keeping stale controlled blocks after reset (WordPress/gutenberg#76591) - Gate client-side media processing as plugin-only (WordPress/gutenberg#76700) - Storybook: Add redirect for moved introduction page (WordPress/gutenberg#76701) - InputControl: Add to @wordpress/ui (WordPress/gutenberg#76653) - UI Tooltip: Improve documentation to cover intended accessibility practices (WordPress/gutenberg#76705) - Add EmptyState component to @wordpress/ui (WordPress/gutenberg#74719) - RTC: Use activation hook to enable RTC by default (WordPress/gutenberg#76736) - Forms Block: Add hidden input field variation (WordPress/gutenberg#74131) - Guidelines: Refactor components and improve TypeScript typing (WordPress/gutenberg#76394) - Connectors: Align client-side registration API with server-side (WordPress/gutenberg#76737) - Properly resolve `getTemplateId` for hybrid themes (WordPress/gutenberg#76532) - Changelog: Add missing label-to-feature mappings (WordPress/gutenberg#76646) - Connectors: Support non-AI provider types and add JS extensibility e2e test (WordPress/gutenberg#76722) - Experimental: Add `template` panel to include the existing template actions (WordPress/gutenberg#76539) - RadioControl: Add `role="radiogroup"` to fieldset (WordPress/gutenberg#76745) - wp-build: Hash transformed CSS for `data-wp-hash` dedupe key (WordPress/gutenberg#76743) - Button: restore specificity of high-contrast mode focus ring (WordPress/gutenberg#76719) - Updating versions in WordPress ahead of 7.0 (WordPress/gutenberg#76723) - Bump the github-actions group across 2 directories with 1 update (WordPress/gutenberg#76681) - Admin UI: Add CSS files to sideEffects array (WordPress/gutenberg#76609) - RTC: Add E2E "stress test" with complex interactions (WordPress/gutenberg#76055) - Connectors: Improve AI plugin button (WordPress/gutenberg#76759) - Login/out block: Add button block class names to the submit button (WordPress/gutenberg#76746) - Commands: Add sections to command palette and introduce Recently used functionality (WordPress/gutenberg#75691) - RTC: Use prepared queries instead of `*_post_meta` functions (WordPress/gutenberg#76779) - Core Abilities: fix sideEffects flag (WordPress/gutenberg#76763) - Site Editor > Patterns: move config to the server (WordPress/gutenberg#76734) - Docs: Remove Puppeteer references and update to Playwright (WordPress/gutenberg#76766) - Site Editor > Templates: move config to the server (WordPress/gutenberg#76622) - Core Data: Remove 'isRawAttribute' internal util (WordPress/gutenberg#76806) - Reset blockEditingModes on RESET_BLOCKS (WordPress/gutenberg#76529) - Refactor: Use null coalescing operator for improved readability (WordPress/gutenberg#76777) - ui/CollapsibleCard: do not animate focus ring (WordPress/gutenberg#76682) - admin-ui / Breadcrumbs: stricter `items[].to` prop types (WordPress/gutenberg#76493) - RTC: Remove stale wp_enable_real_time_collaboration option check (WordPress/gutenberg#76810) - Storybook: Try changing to collapsed folders (WordPress/gutenberg#76361) - @wordpress/dataviews: migrate card layout to @wordpress/ui (WordPress/gutenberg#76282) - RTC: Fix editor freeze when replacing code editor content (WordPress/gutenberg#76815) - Preferences: Hide collaboration options when RTC is not enabled (WordPress/gutenberg#76819) - Cherry-pick: Set milestone on PRs after cherry-picking to release branch (WordPress/gutenberg#76652) - Site Tagline: Fix block error when migrating deprecated textAlign attribute (WordPress/gutenberg#76821) - Commands: Fix unstable `useSelect` return value for `recentlyUsedNames` (WordPress/gutenberg#76822) - `ControlWithError`: Connect validation messages to controls via `aria-describedby` (WordPress/gutenberg#76742) - Block Editor: Deprecate '__unstableSaveReusableBlock' action (WordPress/gutenberg#76807) - Editor: Fix template revisions using 'modified' date field instead of 'date' (WordPress/gutenberg#76760) - UI: Clarify public APIs and component naming, remove NoticeIntent typings (WordPress/gutenberg#76791) - fix(date): Recover WP timezone after third-party moment-timezone reload (WordPress/gutenberg#75831) - Admin UI: Update Page background color (WordPress/gutenberg#76548) - Snackbar: Use surface-width design token for max-width (WordPress/gutenberg#76592) - iAPI Docs: Add client-side navigation compatibility guide (WordPress/gutenberg#76242) - Enhance block registration by using blocks-manifest for improved performance (WordPress/gutenberg#76317) - docs(create-block-interactive-template): document available variants in README (WordPress/gutenberg#76831) - Build: detect version and generate asset.php for vendor scripts (WordPress/gutenberg#76811) - Site Editor > Patterns & Parts: generate sidebar from view config (WordPress/gutenberg#76823) - Interactivity API: mention `client-side-navigation` scaffold variant in getting-started guide (WordPress/gutenberg#76543) - Fields: Add `excerpt` field (WordPress/gutenberg#76829) - Update PHP_CodeSniffer repository link and schema URL (WordPress/gutenberg#76816) - docs: Fix markdown links and PHP code block in client-side navigation compatibility guide (WordPress/gutenberg#76856) - Experimental: Add `revisions` panel (WordPress/gutenberg#76735) - WordPress/gutenberg#76478 Boot: Fix black area below content when sidebar is taller than page c… (WordPress/gutenberg#76764) - Style Book: Fix missing styles for classic themes in stylebook route (WordPress/gutenberg#76843) - UI/Dialog: Expose initialFocus and finalFocus on Dialog.Popup (WordPress/gutenberg#76860) - compose/useDialog: add `stopPropagation()` to Escape handler (WordPress/gutenberg#76861) - RTC: Add e2e block gauntlet (WordPress/gutenberg#76849) - UI: Add AlertDialog primitive (WordPress/gutenberg#76847) - RTC: Fix stuck "Join" link in post list when lock expires (WordPress/gutenberg#76795) - Site Editor: simplify sidebar for Pages & Templates (WordPress/gutenberg#76868) - Site Editor v2: Add missing menu items to navigation leaf more menu (WordPress/gutenberg#76804) - Navigation: Add a shared helper for font sizes in Navigation Link and Navigation Submenu blocks (WordPress/gutenberg#74855) - Reduce specificity of nav link default padding so global styles are applied (WordPress/gutenberg#76876) - Icon: Fix center alignment in the editor for classic themes (WordPress/gutenberg#76878) - RTC: Fix notes not syncing between collaborative editors (WordPress/gutenberg#76873) - List Item: Disable edit as HTML support (WordPress/gutenberg#76897) - Block Library: Show fallback label in MediaControl when filename is empty (WordPress/gutenberg#76888) - Image block media placeholder: remove duotone (WordPress/gutenberg#76721) - Latest Comments: Fix v1 deprecated block missing supports (WordPress/gutenberg#76877) - VIPS: ensure single instance (WordPress/gutenberg#76780) - React vendor script: avoid warning on createRoot (WordPress/gutenberg#76825) - Connectors: Add Akismet as a default connector (WordPress/gutenberg#76828) - Core Data: remove offset param from stableKey, use pagination logic (WordPress/gutenberg#76808) - Button: hide focus outline on :active for click feedback in forced-colors mode (WordPress/gutenberg#76833) - Restore with compaction update (WordPress/gutenberg#76872) - Theme: Change default control cursor to `pointer` (WordPress/gutenberg#76762) - E2E Tests: Enable client-side media processing for site editor image test (WordPress/gutenberg#76648) - ComboboxControl: Fix accessible association of `help` text (WordPress/gutenberg#76761) - Add backport for WP_ALLOW_COLLABORATION (WordPress/gutenberg#76716) - DataForm: Add `compact` configuration option to the `datetime` control (WordPress/gutenberg#76905) - Admin UI: Fix Page Header not rendering with only actions and add stories (WordPress/gutenberg#76695) - Improve JSDoc for abilities API (WordPress/gutenberg#76824) - DOM: Document class wildcard matcher for 'cleanNodeList' (WordPress/gutenberg#76920) - e2e: Add e2e tests for template and template part revisions (WordPress/gutenberg#76923) - react-dom vendor script: remove __esModule flag (WordPress/gutenberg#76925) - Site Editor: Fix unsupported theme flash on direct URL navigation (WordPress/gutenberg#76465) - Icons: Enforce strict name validation in `register` method (WordPress/gutenberg#76079) - ToggleGroupControl: Fix accessible association of `help` text (WordPress/gutenberg#76740) - Connectors: Replace plugin.slug with plugin.file (WordPress/gutenberg#76909) - UI/Dialog: deprioritize close icon for initial focus (WordPress/gutenberg#76910) - Block visibility badge: use canvas iframe for viewport detection (WordPress/gutenberg#76889) - Fields: Add `sticky` field (WordPress/gutenberg#76922) - DOM: Prefer standard `caretPositionFromPoint` over deprecated `caretRangeFromPoint` (WordPress/gutenberg#76921) - Block Supports: Add background gradient support that can combine with background images (WordPress/gutenberg#75859) - Tab Block: Remove anchor from save function (WordPress/gutenberg#76511) - CollapsibleCard: Add HeaderDescription subcomponent (WordPress/gutenberg#76867) - element: Make createInterpolateElement TS/type smart (WordPress/gutenberg#71513) - admin-ui: Update README to clarify purpose and distinguish from ui package (WordPress/gutenberg#76943) - Site Editor > Quick Edit: add form config to endpoint (WordPress/gutenberg#76953) - Fields: Tweak `excerpt` field (WordPress/gutenberg#76903) - Fix: Flaky RichText format e2e test (WordPress/gutenberg#76958) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65556. git-svn-id: https://develop.svn.wordpress.org/trunk@62578 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `3166ad3c587b4091f77b0e16affeed5762e193f1` (version `22.8.0`) to `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.8.0..v22.9.0. The following commits are included: - Real Time Collaboration: Introduce filters for the polling intervals. (WordPress/gutenberg#76518) - UI: Update @base-ui/react from 1.2.0 to 1.3.0 (WordPress/gutenberg#76603) - Card: Use Text component for Title typography (WordPress/gutenberg#76642) - Add TypeScript parser tests for shouldSkipReference (WordPress/gutenberg#76611) - Update changelog link for pull request 11276 (WordPress/gutenberg#76638) - ThemeProvider: Add `cursor` prop (WordPress/gutenberg#76410) - RTC: Fix RichTextData deserialization (WordPress/gutenberg#76607) - Cross Origin Isolation: Remove `img` from the list of elements that get mutated (WordPress/gutenberg#76618) - RTC: Scroll to collaborator on click (WordPress/gutenberg#76561) - Fix backport changelog filename (WordPress/gutenberg#76651) - Build: Skip non-minified build for WASM-inlined workers (WordPress/gutenberg#76615) - Improvements to dataviews infinite scroll (WordPress/gutenberg#74378) - Image/Site Logo: hide crop toolbar when editMediaEntity is unavailable (WordPress/gutenberg#76626) - Bump lodash from 4.17.21 to 4.17.23 in /platform-docs (WordPress/gutenberg#74829) - RTC: Change RTC option name (WordPress/gutenberg#76643) - Change from PR WordPress/gutenberg#11276 to WordPress/gutenberg#11234 with with different approach (WordPress/gutenberg#76661) - Build: Fix vips worker 404 when SCRIPT_DEBUG is true (WordPress/gutenberg#76657) - Build: Remove unused JXL WASM module from vips worker (WordPress/gutenberg#76639) - Storybook: disabled autodocs for Icon library (WordPress/gutenberg#76620) - Connectors: fix button size (WordPress/gutenberg#76582) - Revisions: Add Meta fields diff panel to document sidebar (WordPress/gutenberg#76341) - Reduce the added halo for selected block. (WordPress/gutenberg#76619) - Site Editor > Pages: move view config to the server (WordPress/gutenberg#76573) - ui/Tabs: add runtime validation for tab/panel mismatches (WordPress/gutenberg#75170) - Fix Color Picker Angle Reset on Gradient Type Change (WordPress/gutenberg#76595) - ESLint: Add `no-unmerged-classname` rule (WordPress/gutenberg#76458) - RTC: Backport race condition fix (WordPress/gutenberg#76649) - ui/Card: Add overflow: clip to root container (WordPress/gutenberg#76678) - Storybook: Make "introduction" top level (WordPress/gutenberg#76671) - Fix navigation block rendering unit test (WordPress/gutenberg#76685) - Hide Additional CSS controls when block is inside contentOnly editing mode (WordPress/gutenberg#76512) - RTC: Increase polling intervals, increase polling on primary room only (WordPress/gutenberg#76704) - Navigation: Avoid List View changing position when navigation block saves (WordPress/gutenberg#76659) - Fix navigation block unit test and e2e test (WordPress/gutenberg#76692) - Stretchy Text: Fix focus loss (WordPress/gutenberg#75092) - Fix locked content when switching to a different template without exiting 'Edit pattern' (WordPress/gutenberg#76710) - Guidelines: Improvements to the UX (WordPress/gutenberg#76383) - Fix: Create custom template modal content width (WordPress/gutenberg#76713) - Core Data: Optimize getRawEntityRecord selector (WordPress/gutenberg#76632) - Metabox: Fix checkbox style in sidebar (WordPress/gutenberg#76718) - Stop keeping stale controlled blocks after reset (WordPress/gutenberg#76591) - Gate client-side media processing as plugin-only (WordPress/gutenberg#76700) - Storybook: Add redirect for moved introduction page (WordPress/gutenberg#76701) - InputControl: Add to @wordpress/ui (WordPress/gutenberg#76653) - UI Tooltip: Improve documentation to cover intended accessibility practices (WordPress/gutenberg#76705) - Add EmptyState component to @wordpress/ui (WordPress/gutenberg#74719) - RTC: Use activation hook to enable RTC by default (WordPress/gutenberg#76736) - Forms Block: Add hidden input field variation (WordPress/gutenberg#74131) - Guidelines: Refactor components and improve TypeScript typing (WordPress/gutenberg#76394) - Connectors: Align client-side registration API with server-side (WordPress/gutenberg#76737) - Properly resolve `getTemplateId` for hybrid themes (WordPress/gutenberg#76532) - Changelog: Add missing label-to-feature mappings (WordPress/gutenberg#76646) - Connectors: Support non-AI provider types and add JS extensibility e2e test (WordPress/gutenberg#76722) - Experimental: Add `template` panel to include the existing template actions (WordPress/gutenberg#76539) - RadioControl: Add `role="radiogroup"` to fieldset (WordPress/gutenberg#76745) - wp-build: Hash transformed CSS for `data-wp-hash` dedupe key (WordPress/gutenberg#76743) - Button: restore specificity of high-contrast mode focus ring (WordPress/gutenberg#76719) - Updating versions in WordPress ahead of 7.0 (WordPress/gutenberg#76723) - Bump the github-actions group across 2 directories with 1 update (WordPress/gutenberg#76681) - Admin UI: Add CSS files to sideEffects array (WordPress/gutenberg#76609) - RTC: Add E2E "stress test" with complex interactions (WordPress/gutenberg#76055) - Connectors: Improve AI plugin button (WordPress/gutenberg#76759) - Login/out block: Add button block class names to the submit button (WordPress/gutenberg#76746) - Commands: Add sections to command palette and introduce Recently used functionality (WordPress/gutenberg#75691) - RTC: Use prepared queries instead of `*_post_meta` functions (WordPress/gutenberg#76779) - Core Abilities: fix sideEffects flag (WordPress/gutenberg#76763) - Site Editor > Patterns: move config to the server (WordPress/gutenberg#76734) - Docs: Remove Puppeteer references and update to Playwright (WordPress/gutenberg#76766) - Site Editor > Templates: move config to the server (WordPress/gutenberg#76622) - Core Data: Remove 'isRawAttribute' internal util (WordPress/gutenberg#76806) - Reset blockEditingModes on RESET_BLOCKS (WordPress/gutenberg#76529) - Refactor: Use null coalescing operator for improved readability (WordPress/gutenberg#76777) - ui/CollapsibleCard: do not animate focus ring (WordPress/gutenberg#76682) - admin-ui / Breadcrumbs: stricter `items[].to` prop types (WordPress/gutenberg#76493) - RTC: Remove stale wp_enable_real_time_collaboration option check (WordPress/gutenberg#76810) - Storybook: Try changing to collapsed folders (WordPress/gutenberg#76361) - @wordpress/dataviews: migrate card layout to @wordpress/ui (WordPress/gutenberg#76282) - RTC: Fix editor freeze when replacing code editor content (WordPress/gutenberg#76815) - Preferences: Hide collaboration options when RTC is not enabled (WordPress/gutenberg#76819) - Cherry-pick: Set milestone on PRs after cherry-picking to release branch (WordPress/gutenberg#76652) - Site Tagline: Fix block error when migrating deprecated textAlign attribute (WordPress/gutenberg#76821) - Commands: Fix unstable `useSelect` return value for `recentlyUsedNames` (WordPress/gutenberg#76822) - `ControlWithError`: Connect validation messages to controls via `aria-describedby` (WordPress/gutenberg#76742) - Block Editor: Deprecate '__unstableSaveReusableBlock' action (WordPress/gutenberg#76807) - Editor: Fix template revisions using 'modified' date field instead of 'date' (WordPress/gutenberg#76760) - UI: Clarify public APIs and component naming, remove NoticeIntent typings (WordPress/gutenberg#76791) - fix(date): Recover WP timezone after third-party moment-timezone reload (WordPress/gutenberg#75831) - Admin UI: Update Page background color (WordPress/gutenberg#76548) - Snackbar: Use surface-width design token for max-width (WordPress/gutenberg#76592) - iAPI Docs: Add client-side navigation compatibility guide (WordPress/gutenberg#76242) - Enhance block registration by using blocks-manifest for improved performance (WordPress/gutenberg#76317) - docs(create-block-interactive-template): document available variants in README (WordPress/gutenberg#76831) - Build: detect version and generate asset.php for vendor scripts (WordPress/gutenberg#76811) - Site Editor > Patterns & Parts: generate sidebar from view config (WordPress/gutenberg#76823) - Interactivity API: mention `client-side-navigation` scaffold variant in getting-started guide (WordPress/gutenberg#76543) - Fields: Add `excerpt` field (WordPress/gutenberg#76829) - Update PHP_CodeSniffer repository link and schema URL (WordPress/gutenberg#76816) - docs: Fix markdown links and PHP code block in client-side navigation compatibility guide (WordPress/gutenberg#76856) - Experimental: Add `revisions` panel (WordPress/gutenberg#76735) - WordPress/gutenberg#76478 Boot: Fix black area below content when sidebar is taller than page c… (WordPress/gutenberg#76764) - Style Book: Fix missing styles for classic themes in stylebook route (WordPress/gutenberg#76843) - UI/Dialog: Expose initialFocus and finalFocus on Dialog.Popup (WordPress/gutenberg#76860) - compose/useDialog: add `stopPropagation()` to Escape handler (WordPress/gutenberg#76861) - RTC: Add e2e block gauntlet (WordPress/gutenberg#76849) - UI: Add AlertDialog primitive (WordPress/gutenberg#76847) - RTC: Fix stuck "Join" link in post list when lock expires (WordPress/gutenberg#76795) - Site Editor: simplify sidebar for Pages & Templates (WordPress/gutenberg#76868) - Site Editor v2: Add missing menu items to navigation leaf more menu (WordPress/gutenberg#76804) - Navigation: Add a shared helper for font sizes in Navigation Link and Navigation Submenu blocks (WordPress/gutenberg#74855) - Reduce specificity of nav link default padding so global styles are applied (WordPress/gutenberg#76876) - Icon: Fix center alignment in the editor for classic themes (WordPress/gutenberg#76878) - RTC: Fix notes not syncing between collaborative editors (WordPress/gutenberg#76873) - List Item: Disable edit as HTML support (WordPress/gutenberg#76897) - Block Library: Show fallback label in MediaControl when filename is empty (WordPress/gutenberg#76888) - Image block media placeholder: remove duotone (WordPress/gutenberg#76721) - Latest Comments: Fix v1 deprecated block missing supports (WordPress/gutenberg#76877) - VIPS: ensure single instance (WordPress/gutenberg#76780) - React vendor script: avoid warning on createRoot (WordPress/gutenberg#76825) - Connectors: Add Akismet as a default connector (WordPress/gutenberg#76828) - Core Data: remove offset param from stableKey, use pagination logic (WordPress/gutenberg#76808) - Button: hide focus outline on :active for click feedback in forced-colors mode (WordPress/gutenberg#76833) - Restore with compaction update (WordPress/gutenberg#76872) - Theme: Change default control cursor to `pointer` (WordPress/gutenberg#76762) - E2E Tests: Enable client-side media processing for site editor image test (WordPress/gutenberg#76648) - ComboboxControl: Fix accessible association of `help` text (WordPress/gutenberg#76761) - Add backport for WP_ALLOW_COLLABORATION (WordPress/gutenberg#76716) - DataForm: Add `compact` configuration option to the `datetime` control (WordPress/gutenberg#76905) - Admin UI: Fix Page Header not rendering with only actions and add stories (WordPress/gutenberg#76695) - Improve JSDoc for abilities API (WordPress/gutenberg#76824) - DOM: Document class wildcard matcher for 'cleanNodeList' (WordPress/gutenberg#76920) - e2e: Add e2e tests for template and template part revisions (WordPress/gutenberg#76923) - react-dom vendor script: remove __esModule flag (WordPress/gutenberg#76925) - Site Editor: Fix unsupported theme flash on direct URL navigation (WordPress/gutenberg#76465) - Icons: Enforce strict name validation in `register` method (WordPress/gutenberg#76079) - ToggleGroupControl: Fix accessible association of `help` text (WordPress/gutenberg#76740) - Connectors: Replace plugin.slug with plugin.file (WordPress/gutenberg#76909) - UI/Dialog: deprioritize close icon for initial focus (WordPress/gutenberg#76910) - Block visibility badge: use canvas iframe for viewport detection (WordPress/gutenberg#76889) - Fields: Add `sticky` field (WordPress/gutenberg#76922) - DOM: Prefer standard `caretPositionFromPoint` over deprecated `caretRangeFromPoint` (WordPress/gutenberg#76921) - Block Supports: Add background gradient support that can combine with background images (WordPress/gutenberg#75859) - Tab Block: Remove anchor from save function (WordPress/gutenberg#76511) - CollapsibleCard: Add HeaderDescription subcomponent (WordPress/gutenberg#76867) - element: Make createInterpolateElement TS/type smart (WordPress/gutenberg#71513) - admin-ui: Update README to clarify purpose and distinguish from ui package (WordPress/gutenberg#76943) - Site Editor > Quick Edit: add form config to endpoint (WordPress/gutenberg#76953) - Fields: Tweak `excerpt` field (WordPress/gutenberg#76903) - Fix: Flaky RichText format e2e test (WordPress/gutenberg#76958) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65556. Built from https://develop.svn.wordpress.org/trunk@62578 git-svn-id: http://core.svn.wordpress.org/trunk@61858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This updates the pinned commit hash of the Gutenberg repository from `3166ad3c587b4091f77b0e16affeed5762e193f1` (version `22.8.0`) to `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.8.0..v22.9.0. The following commits are included: - Real Time Collaboration: Introduce filters for the polling intervals. (WordPress/gutenberg#76518) - UI: Update @base-ui/react from 1.2.0 to 1.3.0 (WordPress/gutenberg#76603) - Card: Use Text component for Title typography (WordPress/gutenberg#76642) - Add TypeScript parser tests for shouldSkipReference (WordPress/gutenberg#76611) - Update changelog link for pull request 11276 (WordPress/gutenberg#76638) - ThemeProvider: Add `cursor` prop (WordPress/gutenberg#76410) - RTC: Fix RichTextData deserialization (WordPress/gutenberg#76607) - Cross Origin Isolation: Remove `img` from the list of elements that get mutated (WordPress/gutenberg#76618) - RTC: Scroll to collaborator on click (WordPress/gutenberg#76561) - Fix backport changelog filename (WordPress/gutenberg#76651) - Build: Skip non-minified build for WASM-inlined workers (WordPress/gutenberg#76615) - Improvements to dataviews infinite scroll (WordPress/gutenberg#74378) - Image/Site Logo: hide crop toolbar when editMediaEntity is unavailable (WordPress/gutenberg#76626) - Bump lodash from 4.17.21 to 4.17.23 in /platform-docs (WordPress/gutenberg#74829) - RTC: Change RTC option name (WordPress/gutenberg#76643) - Change from PR WordPress/gutenberg#11276 to WordPress/gutenberg#11234 with with different approach (WordPress/gutenberg#76661) - Build: Fix vips worker 404 when SCRIPT_DEBUG is true (WordPress/gutenberg#76657) - Build: Remove unused JXL WASM module from vips worker (WordPress/gutenberg#76639) - Storybook: disabled autodocs for Icon library (WordPress/gutenberg#76620) - Connectors: fix button size (WordPress/gutenberg#76582) - Revisions: Add Meta fields diff panel to document sidebar (WordPress/gutenberg#76341) - Reduce the added halo for selected block. (WordPress/gutenberg#76619) - Site Editor > Pages: move view config to the server (WordPress/gutenberg#76573) - ui/Tabs: add runtime validation for tab/panel mismatches (WordPress/gutenberg#75170) - Fix Color Picker Angle Reset on Gradient Type Change (WordPress/gutenberg#76595) - ESLint: Add `no-unmerged-classname` rule (WordPress/gutenberg#76458) - RTC: Backport race condition fix (WordPress/gutenberg#76649) - ui/Card: Add overflow: clip to root container (WordPress/gutenberg#76678) - Storybook: Make "introduction" top level (WordPress/gutenberg#76671) - Fix navigation block rendering unit test (WordPress/gutenberg#76685) - Hide Additional CSS controls when block is inside contentOnly editing mode (WordPress/gutenberg#76512) - RTC: Increase polling intervals, increase polling on primary room only (WordPress/gutenberg#76704) - Navigation: Avoid List View changing position when navigation block saves (WordPress/gutenberg#76659) - Fix navigation block unit test and e2e test (WordPress/gutenberg#76692) - Stretchy Text: Fix focus loss (WordPress/gutenberg#75092) - Fix locked content when switching to a different template without exiting 'Edit pattern' (WordPress/gutenberg#76710) - Guidelines: Improvements to the UX (WordPress/gutenberg#76383) - Fix: Create custom template modal content width (WordPress/gutenberg#76713) - Core Data: Optimize getRawEntityRecord selector (WordPress/gutenberg#76632) - Metabox: Fix checkbox style in sidebar (WordPress/gutenberg#76718) - Stop keeping stale controlled blocks after reset (WordPress/gutenberg#76591) - Gate client-side media processing as plugin-only (WordPress/gutenberg#76700) - Storybook: Add redirect for moved introduction page (WordPress/gutenberg#76701) - InputControl: Add to @wordpress/ui (WordPress/gutenberg#76653) - UI Tooltip: Improve documentation to cover intended accessibility practices (WordPress/gutenberg#76705) - Add EmptyState component to @wordpress/ui (WordPress/gutenberg#74719) - RTC: Use activation hook to enable RTC by default (WordPress/gutenberg#76736) - Forms Block: Add hidden input field variation (WordPress/gutenberg#74131) - Guidelines: Refactor components and improve TypeScript typing (WordPress/gutenberg#76394) - Connectors: Align client-side registration API with server-side (WordPress/gutenberg#76737) - Properly resolve `getTemplateId` for hybrid themes (WordPress/gutenberg#76532) - Changelog: Add missing label-to-feature mappings (WordPress/gutenberg#76646) - Connectors: Support non-AI provider types and add JS extensibility e2e test (WordPress/gutenberg#76722) - Experimental: Add `template` panel to include the existing template actions (WordPress/gutenberg#76539) - RadioControl: Add `role="radiogroup"` to fieldset (WordPress/gutenberg#76745) - wp-build: Hash transformed CSS for `data-wp-hash` dedupe key (WordPress/gutenberg#76743) - Button: restore specificity of high-contrast mode focus ring (WordPress/gutenberg#76719) - Updating versions in WordPress ahead of 7.0 (WordPress/gutenberg#76723) - Bump the github-actions group across 2 directories with 1 update (WordPress/gutenberg#76681) - Admin UI: Add CSS files to sideEffects array (WordPress/gutenberg#76609) - RTC: Add E2E "stress test" with complex interactions (WordPress/gutenberg#76055) - Connectors: Improve AI plugin button (WordPress/gutenberg#76759) - Login/out block: Add button block class names to the submit button (WordPress/gutenberg#76746) - Commands: Add sections to command palette and introduce Recently used functionality (WordPress/gutenberg#75691) - RTC: Use prepared queries instead of `*_post_meta` functions (WordPress/gutenberg#76779) - Core Abilities: fix sideEffects flag (WordPress/gutenberg#76763) - Site Editor > Patterns: move config to the server (WordPress/gutenberg#76734) - Docs: Remove Puppeteer references and update to Playwright (WordPress/gutenberg#76766) - Site Editor > Templates: move config to the server (WordPress/gutenberg#76622) - Core Data: Remove 'isRawAttribute' internal util (WordPress/gutenberg#76806) - Reset blockEditingModes on RESET_BLOCKS (WordPress/gutenberg#76529) - Refactor: Use null coalescing operator for improved readability (WordPress/gutenberg#76777) - ui/CollapsibleCard: do not animate focus ring (WordPress/gutenberg#76682) - admin-ui / Breadcrumbs: stricter `items[].to` prop types (WordPress/gutenberg#76493) - RTC: Remove stale wp_enable_real_time_collaboration option check (WordPress/gutenberg#76810) - Storybook: Try changing to collapsed folders (WordPress/gutenberg#76361) - @wordpress/dataviews: migrate card layout to @wordpress/ui (WordPress/gutenberg#76282) - RTC: Fix editor freeze when replacing code editor content (WordPress/gutenberg#76815) - Preferences: Hide collaboration options when RTC is not enabled (WordPress/gutenberg#76819) - Cherry-pick: Set milestone on PRs after cherry-picking to release branch (WordPress/gutenberg#76652) - Site Tagline: Fix block error when migrating deprecated textAlign attribute (WordPress/gutenberg#76821) - Commands: Fix unstable `useSelect` return value for `recentlyUsedNames` (WordPress/gutenberg#76822) - `ControlWithError`: Connect validation messages to controls via `aria-describedby` (WordPress/gutenberg#76742) - Block Editor: Deprecate '__unstableSaveReusableBlock' action (WordPress/gutenberg#76807) - Editor: Fix template revisions using 'modified' date field instead of 'date' (WordPress/gutenberg#76760) - UI: Clarify public APIs and component naming, remove NoticeIntent typings (WordPress/gutenberg#76791) - fix(date): Recover WP timezone after third-party moment-timezone reload (WordPress/gutenberg#75831) - Admin UI: Update Page background color (WordPress/gutenberg#76548) - Snackbar: Use surface-width design token for max-width (WordPress/gutenberg#76592) - iAPI Docs: Add client-side navigation compatibility guide (WordPress/gutenberg#76242) - Enhance block registration by using blocks-manifest for improved performance (WordPress/gutenberg#76317) - docs(create-block-interactive-template): document available variants in README (WordPress/gutenberg#76831) - Build: detect version and generate asset.php for vendor scripts (WordPress/gutenberg#76811) - Site Editor > Patterns & Parts: generate sidebar from view config (WordPress/gutenberg#76823) - Interactivity API: mention `client-side-navigation` scaffold variant in getting-started guide (WordPress/gutenberg#76543) - Fields: Add `excerpt` field (WordPress/gutenberg#76829) - Update PHP_CodeSniffer repository link and schema URL (WordPress/gutenberg#76816) - docs: Fix markdown links and PHP code block in client-side navigation compatibility guide (WordPress/gutenberg#76856) - Experimental: Add `revisions` panel (WordPress/gutenberg#76735) - WordPress/gutenberg#76478 Boot: Fix black area below content when sidebar is taller than page c… (WordPress/gutenberg#76764) - Style Book: Fix missing styles for classic themes in stylebook route (WordPress/gutenberg#76843) - UI/Dialog: Expose initialFocus and finalFocus on Dialog.Popup (WordPress/gutenberg#76860) - compose/useDialog: add `stopPropagation()` to Escape handler (WordPress/gutenberg#76861) - RTC: Add e2e block gauntlet (WordPress/gutenberg#76849) - UI: Add AlertDialog primitive (WordPress/gutenberg#76847) - RTC: Fix stuck "Join" link in post list when lock expires (WordPress/gutenberg#76795) - Site Editor: simplify sidebar for Pages & Templates (WordPress/gutenberg#76868) - Site Editor v2: Add missing menu items to navigation leaf more menu (WordPress/gutenberg#76804) - Navigation: Add a shared helper for font sizes in Navigation Link and Navigation Submenu blocks (WordPress/gutenberg#74855) - Reduce specificity of nav link default padding so global styles are applied (WordPress/gutenberg#76876) - Icon: Fix center alignment in the editor for classic themes (WordPress/gutenberg#76878) - RTC: Fix notes not syncing between collaborative editors (WordPress/gutenberg#76873) - List Item: Disable edit as HTML support (WordPress/gutenberg#76897) - Block Library: Show fallback label in MediaControl when filename is empty (WordPress/gutenberg#76888) - Image block media placeholder: remove duotone (WordPress/gutenberg#76721) - Latest Comments: Fix v1 deprecated block missing supports (WordPress/gutenberg#76877) - VIPS: ensure single instance (WordPress/gutenberg#76780) - React vendor script: avoid warning on createRoot (WordPress/gutenberg#76825) - Connectors: Add Akismet as a default connector (WordPress/gutenberg#76828) - Core Data: remove offset param from stableKey, use pagination logic (WordPress/gutenberg#76808) - Button: hide focus outline on :active for click feedback in forced-colors mode (WordPress/gutenberg#76833) - Restore with compaction update (WordPress/gutenberg#76872) - Theme: Change default control cursor to `pointer` (WordPress/gutenberg#76762) - E2E Tests: Enable client-side media processing for site editor image test (WordPress/gutenberg#76648) - ComboboxControl: Fix accessible association of `help` text (WordPress/gutenberg#76761) - Add backport for WP_ALLOW_COLLABORATION (WordPress/gutenberg#76716) - DataForm: Add `compact` configuration option to the `datetime` control (WordPress/gutenberg#76905) - Admin UI: Fix Page Header not rendering with only actions and add stories (WordPress/gutenberg#76695) - Improve JSDoc for abilities API (WordPress/gutenberg#76824) - DOM: Document class wildcard matcher for 'cleanNodeList' (WordPress/gutenberg#76920) - e2e: Add e2e tests for template and template part revisions (WordPress/gutenberg#76923) - react-dom vendor script: remove __esModule flag (WordPress/gutenberg#76925) - Site Editor: Fix unsupported theme flash on direct URL navigation (WordPress/gutenberg#76465) - Icons: Enforce strict name validation in `register` method (WordPress/gutenberg#76079) - ToggleGroupControl: Fix accessible association of `help` text (WordPress/gutenberg#76740) - Connectors: Replace plugin.slug with plugin.file (WordPress/gutenberg#76909) - UI/Dialog: deprioritize close icon for initial focus (WordPress/gutenberg#76910) - Block visibility badge: use canvas iframe for viewport detection (WordPress/gutenberg#76889) - Fields: Add `sticky` field (WordPress/gutenberg#76922) - DOM: Prefer standard `caretPositionFromPoint` over deprecated `caretRangeFromPoint` (WordPress/gutenberg#76921) - Block Supports: Add background gradient support that can combine with background images (WordPress/gutenberg#75859) - Tab Block: Remove anchor from save function (WordPress/gutenberg#76511) - CollapsibleCard: Add HeaderDescription subcomponent (WordPress/gutenberg#76867) - element: Make createInterpolateElement TS/type smart (WordPress/gutenberg#71513) - admin-ui: Update README to clarify purpose and distinguish from ui package (WordPress/gutenberg#76943) - Site Editor > Quick Edit: add form config to endpoint (WordPress/gutenberg#76953) - Fields: Tweak `excerpt` field (WordPress/gutenberg#76903) - Fix: Flaky RichText format e2e test (WordPress/gutenberg#76958) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65556. git-svn-id: https://develop.svn.wordpress.org/trunk@62578 602fd350-edb4-49c9-b593-d223f7449a82
This updates the pinned commit hash of the Gutenberg repository from `3166ad3c587b4091f77b0e16affeed5762e193f1` (version `22.8.0`) to `5426109cdaf45828ef28ff8527d7d38e7e75fe74` (version `22.9.0`). A full list of changes included in this commit can be found on GitHub: https://github.com/WordPress/gutenberg/compare/v22.8.0..v22.9.0. The following commits are included: - Real Time Collaboration: Introduce filters for the polling intervals. (WordPress/gutenberg#76518) - UI: Update @base-ui/react from 1.2.0 to 1.3.0 (WordPress/gutenberg#76603) - Card: Use Text component for Title typography (WordPress/gutenberg#76642) - Add TypeScript parser tests for shouldSkipReference (WordPress/gutenberg#76611) - Update changelog link for pull request 11276 (WordPress/gutenberg#76638) - ThemeProvider: Add `cursor` prop (WordPress/gutenberg#76410) - RTC: Fix RichTextData deserialization (WordPress/gutenberg#76607) - Cross Origin Isolation: Remove `img` from the list of elements that get mutated (WordPress/gutenberg#76618) - RTC: Scroll to collaborator on click (WordPress/gutenberg#76561) - Fix backport changelog filename (WordPress/gutenberg#76651) - Build: Skip non-minified build for WASM-inlined workers (WordPress/gutenberg#76615) - Improvements to dataviews infinite scroll (WordPress/gutenberg#74378) - Image/Site Logo: hide crop toolbar when editMediaEntity is unavailable (WordPress/gutenberg#76626) - Bump lodash from 4.17.21 to 4.17.23 in /platform-docs (WordPress/gutenberg#74829) - RTC: Change RTC option name (WordPress/gutenberg#76643) - Change from PR WordPress/gutenberg#11276 to WordPress/gutenberg#11234 with with different approach (WordPress/gutenberg#76661) - Build: Fix vips worker 404 when SCRIPT_DEBUG is true (WordPress/gutenberg#76657) - Build: Remove unused JXL WASM module from vips worker (WordPress/gutenberg#76639) - Storybook: disabled autodocs for Icon library (WordPress/gutenberg#76620) - Connectors: fix button size (WordPress/gutenberg#76582) - Revisions: Add Meta fields diff panel to document sidebar (WordPress/gutenberg#76341) - Reduce the added halo for selected block. (WordPress/gutenberg#76619) - Site Editor > Pages: move view config to the server (WordPress/gutenberg#76573) - ui/Tabs: add runtime validation for tab/panel mismatches (WordPress/gutenberg#75170) - Fix Color Picker Angle Reset on Gradient Type Change (WordPress/gutenberg#76595) - ESLint: Add `no-unmerged-classname` rule (WordPress/gutenberg#76458) - RTC: Backport race condition fix (WordPress/gutenberg#76649) - ui/Card: Add overflow: clip to root container (WordPress/gutenberg#76678) - Storybook: Make "introduction" top level (WordPress/gutenberg#76671) - Fix navigation block rendering unit test (WordPress/gutenberg#76685) - Hide Additional CSS controls when block is inside contentOnly editing mode (WordPress/gutenberg#76512) - RTC: Increase polling intervals, increase polling on primary room only (WordPress/gutenberg#76704) - Navigation: Avoid List View changing position when navigation block saves (WordPress/gutenberg#76659) - Fix navigation block unit test and e2e test (WordPress/gutenberg#76692) - Stretchy Text: Fix focus loss (WordPress/gutenberg#75092) - Fix locked content when switching to a different template without exiting 'Edit pattern' (WordPress/gutenberg#76710) - Guidelines: Improvements to the UX (WordPress/gutenberg#76383) - Fix: Create custom template modal content width (WordPress/gutenberg#76713) - Core Data: Optimize getRawEntityRecord selector (WordPress/gutenberg#76632) - Metabox: Fix checkbox style in sidebar (WordPress/gutenberg#76718) - Stop keeping stale controlled blocks after reset (WordPress/gutenberg#76591) - Gate client-side media processing as plugin-only (WordPress/gutenberg#76700) - Storybook: Add redirect for moved introduction page (WordPress/gutenberg#76701) - InputControl: Add to @wordpress/ui (WordPress/gutenberg#76653) - UI Tooltip: Improve documentation to cover intended accessibility practices (WordPress/gutenberg#76705) - Add EmptyState component to @wordpress/ui (WordPress/gutenberg#74719) - RTC: Use activation hook to enable RTC by default (WordPress/gutenberg#76736) - Forms Block: Add hidden input field variation (WordPress/gutenberg#74131) - Guidelines: Refactor components and improve TypeScript typing (WordPress/gutenberg#76394) - Connectors: Align client-side registration API with server-side (WordPress/gutenberg#76737) - Properly resolve `getTemplateId` for hybrid themes (WordPress/gutenberg#76532) - Changelog: Add missing label-to-feature mappings (WordPress/gutenberg#76646) - Connectors: Support non-AI provider types and add JS extensibility e2e test (WordPress/gutenberg#76722) - Experimental: Add `template` panel to include the existing template actions (WordPress/gutenberg#76539) - RadioControl: Add `role="radiogroup"` to fieldset (WordPress/gutenberg#76745) - wp-build: Hash transformed CSS for `data-wp-hash` dedupe key (WordPress/gutenberg#76743) - Button: restore specificity of high-contrast mode focus ring (WordPress/gutenberg#76719) - Updating versions in WordPress ahead of 7.0 (WordPress/gutenberg#76723) - Bump the github-actions group across 2 directories with 1 update (WordPress/gutenberg#76681) - Admin UI: Add CSS files to sideEffects array (WordPress/gutenberg#76609) - RTC: Add E2E "stress test" with complex interactions (WordPress/gutenberg#76055) - Connectors: Improve AI plugin button (WordPress/gutenberg#76759) - Login/out block: Add button block class names to the submit button (WordPress/gutenberg#76746) - Commands: Add sections to command palette and introduce Recently used functionality (WordPress/gutenberg#75691) - RTC: Use prepared queries instead of `*_post_meta` functions (WordPress/gutenberg#76779) - Core Abilities: fix sideEffects flag (WordPress/gutenberg#76763) - Site Editor > Patterns: move config to the server (WordPress/gutenberg#76734) - Docs: Remove Puppeteer references and update to Playwright (WordPress/gutenberg#76766) - Site Editor > Templates: move config to the server (WordPress/gutenberg#76622) - Core Data: Remove 'isRawAttribute' internal util (WordPress/gutenberg#76806) - Reset blockEditingModes on RESET_BLOCKS (WordPress/gutenberg#76529) - Refactor: Use null coalescing operator for improved readability (WordPress/gutenberg#76777) - ui/CollapsibleCard: do not animate focus ring (WordPress/gutenberg#76682) - admin-ui / Breadcrumbs: stricter `items[].to` prop types (WordPress/gutenberg#76493) - RTC: Remove stale wp_enable_real_time_collaboration option check (WordPress/gutenberg#76810) - Storybook: Try changing to collapsed folders (WordPress/gutenberg#76361) - @wordpress/dataviews: migrate card layout to @wordpress/ui (WordPress/gutenberg#76282) - RTC: Fix editor freeze when replacing code editor content (WordPress/gutenberg#76815) - Preferences: Hide collaboration options when RTC is not enabled (WordPress/gutenberg#76819) - Cherry-pick: Set milestone on PRs after cherry-picking to release branch (WordPress/gutenberg#76652) - Site Tagline: Fix block error when migrating deprecated textAlign attribute (WordPress/gutenberg#76821) - Commands: Fix unstable `useSelect` return value for `recentlyUsedNames` (WordPress/gutenberg#76822) - `ControlWithError`: Connect validation messages to controls via `aria-describedby` (WordPress/gutenberg#76742) - Block Editor: Deprecate '__unstableSaveReusableBlock' action (WordPress/gutenberg#76807) - Editor: Fix template revisions using 'modified' date field instead of 'date' (WordPress/gutenberg#76760) - UI: Clarify public APIs and component naming, remove NoticeIntent typings (WordPress/gutenberg#76791) - fix(date): Recover WP timezone after third-party moment-timezone reload (WordPress/gutenberg#75831) - Admin UI: Update Page background color (WordPress/gutenberg#76548) - Snackbar: Use surface-width design token for max-width (WordPress/gutenberg#76592) - iAPI Docs: Add client-side navigation compatibility guide (WordPress/gutenberg#76242) - Enhance block registration by using blocks-manifest for improved performance (WordPress/gutenberg#76317) - docs(create-block-interactive-template): document available variants in README (WordPress/gutenberg#76831) - Build: detect version and generate asset.php for vendor scripts (WordPress/gutenberg#76811) - Site Editor > Patterns & Parts: generate sidebar from view config (WordPress/gutenberg#76823) - Interactivity API: mention `client-side-navigation` scaffold variant in getting-started guide (WordPress/gutenberg#76543) - Fields: Add `excerpt` field (WordPress/gutenberg#76829) - Update PHP_CodeSniffer repository link and schema URL (WordPress/gutenberg#76816) - docs: Fix markdown links and PHP code block in client-side navigation compatibility guide (WordPress/gutenberg#76856) - Experimental: Add `revisions` panel (WordPress/gutenberg#76735) - WordPress/gutenberg#76478 Boot: Fix black area below content when sidebar is taller than page c… (WordPress/gutenberg#76764) - Style Book: Fix missing styles for classic themes in stylebook route (WordPress/gutenberg#76843) - UI/Dialog: Expose initialFocus and finalFocus on Dialog.Popup (WordPress/gutenberg#76860) - compose/useDialog: add `stopPropagation()` to Escape handler (WordPress/gutenberg#76861) - RTC: Add e2e block gauntlet (WordPress/gutenberg#76849) - UI: Add AlertDialog primitive (WordPress/gutenberg#76847) - RTC: Fix stuck "Join" link in post list when lock expires (WordPress/gutenberg#76795) - Site Editor: simplify sidebar for Pages & Templates (WordPress/gutenberg#76868) - Site Editor v2: Add missing menu items to navigation leaf more menu (WordPress/gutenberg#76804) - Navigation: Add a shared helper for font sizes in Navigation Link and Navigation Submenu blocks (WordPress/gutenberg#74855) - Reduce specificity of nav link default padding so global styles are applied (WordPress/gutenberg#76876) - Icon: Fix center alignment in the editor for classic themes (WordPress/gutenberg#76878) - RTC: Fix notes not syncing between collaborative editors (WordPress/gutenberg#76873) - List Item: Disable edit as HTML support (WordPress/gutenberg#76897) - Block Library: Show fallback label in MediaControl when filename is empty (WordPress/gutenberg#76888) - Image block media placeholder: remove duotone (WordPress/gutenberg#76721) - Latest Comments: Fix v1 deprecated block missing supports (WordPress/gutenberg#76877) - VIPS: ensure single instance (WordPress/gutenberg#76780) - React vendor script: avoid warning on createRoot (WordPress/gutenberg#76825) - Connectors: Add Akismet as a default connector (WordPress/gutenberg#76828) - Core Data: remove offset param from stableKey, use pagination logic (WordPress/gutenberg#76808) - Button: hide focus outline on :active for click feedback in forced-colors mode (WordPress/gutenberg#76833) - Restore with compaction update (WordPress/gutenberg#76872) - Theme: Change default control cursor to `pointer` (WordPress/gutenberg#76762) - E2E Tests: Enable client-side media processing for site editor image test (WordPress/gutenberg#76648) - ComboboxControl: Fix accessible association of `help` text (WordPress/gutenberg#76761) - Add backport for WP_ALLOW_COLLABORATION (WordPress/gutenberg#76716) - DataForm: Add `compact` configuration option to the `datetime` control (WordPress/gutenberg#76905) - Admin UI: Fix Page Header not rendering with only actions and add stories (WordPress/gutenberg#76695) - Improve JSDoc for abilities API (WordPress/gutenberg#76824) - DOM: Document class wildcard matcher for 'cleanNodeList' (WordPress/gutenberg#76920) - e2e: Add e2e tests for template and template part revisions (WordPress/gutenberg#76923) - react-dom vendor script: remove __esModule flag (WordPress/gutenberg#76925) - Site Editor: Fix unsupported theme flash on direct URL navigation (WordPress/gutenberg#76465) - Icons: Enforce strict name validation in `register` method (WordPress/gutenberg#76079) - ToggleGroupControl: Fix accessible association of `help` text (WordPress/gutenberg#76740) - Connectors: Replace plugin.slug with plugin.file (WordPress/gutenberg#76909) - UI/Dialog: deprioritize close icon for initial focus (WordPress/gutenberg#76910) - Block visibility badge: use canvas iframe for viewport detection (WordPress/gutenberg#76889) - Fields: Add `sticky` field (WordPress/gutenberg#76922) - DOM: Prefer standard `caretPositionFromPoint` over deprecated `caretRangeFromPoint` (WordPress/gutenberg#76921) - Block Supports: Add background gradient support that can combine with background images (WordPress/gutenberg#75859) - Tab Block: Remove anchor from save function (WordPress/gutenberg#76511) - CollapsibleCard: Add HeaderDescription subcomponent (WordPress/gutenberg#76867) - element: Make createInterpolateElement TS/type smart (WordPress/gutenberg#71513) - admin-ui: Update README to clarify purpose and distinguish from ui package (WordPress/gutenberg#76943) - Site Editor > Quick Edit: add form config to endpoint (WordPress/gutenberg#76953) - Fields: Tweak `excerpt` field (WordPress/gutenberg#76903) - Fix: Flaky RichText format e2e test (WordPress/gutenberg#76958) Props adamsilverstein, jorbin, westonruter, wildworks. Fixes #65556. git-svn-id: https://develop.svn.wordpress.org/trunk@62578 602fd350-edb4-49c9-b593-d223f7449a82
Followup to #76613 that removes
offsetfromstableKeyand treats it as a new pagination parameter, on par withpageandper_page. The query results for different offsets are merged into one big array withgetMergedItemIds.I'm not sure how to test it. There are unit tests, but they test isolated parts of the entire process (the selectors, the reducer). @andrewserong Do we already have a UI feature that uses the infinite scroll with
offset, so that it could be tested there, end to end?