Skip to content

Views: honor all developer-defined view config overrides - #80832

Merged
oandregal merged 19 commits into
trunkfrom
fix/use-view-hook-overrides
Aug 3, 2026
Merged

Views: honor all developer-defined view config overrides#80832
oandregal merged 19 commits into
trunkfrom
fix/use-view-hook-overrides

Conversation

@oandregal

@oandregal oandregal commented Jul 29, 2026

Copy link
Copy Markdown
Member

Fixes #80778.
Backport at WordPress/wordpress-develop#12766

What?

Fix useView hook so that the server-side view config filters are respected:

  • search and page URL params: ignored for now (see conversation). They cannot be set via PHP.
  • view_list overrides for type, perPage, fields are now applied, users can modify unlocked filters provided by a view

Why?

Closes #80778.

How?

  • The view resolution in @wordpress/views only merged a fixed set of override keys, so type, perPage, and fields from view_list were silently ignored (e.g. the bundled "Trash" view rendered as a list despite being configured as a table).
  • Override filters always replaced the user's same-field filter and were stripped before persisting, so unlocked filters could not be modified.

In mergeActiveViewOverrides/stripActiveViewOverrides, type, perPage, and fields now follow the same pattern as sort: the override applies while the view still matches the default view, so an explicit user change wins and is persisted. Locked filters keep replacing same-field filters and are never persisted, while unlocked filters act as defaults that a user-modified filter beats.

Testing Instructions

Add the two filter callbacks from the issue description (#80778) to any PHP file, then open Pages in the Site Editor: the "My view" tab should load with the grid layout, page size, and fields from the config, and its status filter should be user-editable; the bundled "Trash" view should render as a table.

Use of AI Tools

This PR (investigation, code, tests, and description) was authored with Claude Code using the Claude Fable 5 model, directed and reviewed by a human contributor.

Follow-ups

Copilot AI review requested due to automatic review settings July 29, 2026 09:14
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

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

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

Co-authored-by: oandregal <oandregal@git.wordpress.org>
Co-authored-by: ntsekouras <ntsekouras@git.wordpress.org>
Co-authored-by: jorgefilipecosta <jorgefilipecosta@git.wordpress.org>

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

@oandregal oandregal self-assigned this Jul 29, 2026
@oandregal oandregal added the [Type] Bug An existing feature does not function as intended label Jul 29, 2026
@github-project-automation github-project-automation Bot moved this to 🔎 Needs Review in WordPress 7.1 Editor Tasks Jul 29, 2026
@oandregal
oandregal requested a review from ntsekouras July 29, 2026 09:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes @wordpress/views view-resolution so server-provided view config overrides are fully honored (especially view_list overrides) while still allowing user preferences to win once a user explicitly changes an overridden setting.

Changes:

  • Resolve URL-managed search/page as URL param → active override → default view (and exclude them from persistence comparisons).
  • Apply type/perPage/fields overrides as “default-bound” (only while the current view still matches defaultView), and refine filter override behavior so unlocked filters are user-editable while locked filters remain enforced and never persisted.
  • Add unit tests covering useView URL fallback behavior, overridden layout defaults, and the new override/stripping semantics.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/views/src/use-view.ts Fixes search/page fallback + persistence comparison; resolves layout defaults using effective type from active overrides.
packages/views/src/load-view.ts Mirrors useView resolution for route loaders, including effective type for layout defaults.
packages/views/src/filter-utils.ts Implements default-bound overrides (type/perPage/fields) and refined locked vs unlocked filter override/strip behavior.
packages/views/src/types.ts Extends ActiveViewOverrides typing to include default-bound and URL-managed keys.
packages/views/src/test/use-view.tsx Adds useView tests for URL/override/default resolution and overridden layout defaults.
packages/views/src/test/filter-utils.ts Adds coverage for new default-bound override and filter lock/unlock semantics.
packages/views/package.json Adds @testing-library/react as a dev dependency for the new hook tests.
packages/views/CHANGELOG.md Documents the behavior fixes under Unreleased bug fixes.
package-lock.json Updates lockfile for the new workspace dev dependency entry.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

Size Change: +11 B (0%)

Total Size: 7.78 MB

📦 View Changed
Filename Size Change
build/modules/content-types/index.min.js 166 kB +12 B (+0.01%)
build/scripts/edit-site/index.min.js 306 kB -43 B (-0.01%)
build/scripts/editor/index.min.js 501 kB -2 B (0%)
build/scripts/media-utils/index.min.js 122 kB +44 B (+0.04%)

compressed-size-action

@oandregal

Copy link
Copy Markdown
Member Author

For anyone reviewing: at this point, focus the reviews on "does this work?", "what are the side effects", "is it future proof?" rather than on variable naming, etc. I'm still testing scenarios and verifying the persistance mechanism.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

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

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

@oandregal

Copy link
Copy Markdown
Member Author

I've ran into this scenario #80840 but it also happens in trunk. Leaving it as a follow-up and not required for this to land.

@oandregal
oandregal force-pushed the fix/use-view-hook-overrides branch from 9a0008b to 5ca308e Compare July 29, 2026 11:06
@oandregal

oandregal commented Jul 29, 2026

Copy link
Copy Markdown
Member Author

Update: #80832 (comment)

The changes to support search and page are solid, as far as I could test (with this patch). As before, the source of truth for these parameters remains the URL, and they are not persisted.

What changes here is

The fallback:

  • before: they'd fallback to baseView (either the persisted view or the default)
  • now: they fallback to active overrides or default view. This makes more sense as these parameters were never persisted (so no point in fallback to the persisted view) and both the default view or view_list can have them.

They still work after user changes:

  • Before:
Screen.Recording.2026-07-29.at.13.12.30.mov
  • After:
Screen.Recording.2026-07-29.at.12.16.58.mov

Comment thread packages/views/src/load-view.ts Outdated
@oandregal
oandregal force-pushed the fix/use-view-hook-overrides branch from 7d75aeb to 0793d11 Compare July 29, 2026 13:36
Comment thread packages/views/src/filter-utils.ts Outdated
@oandregal

Copy link
Copy Markdown
Member Author

Prepared backport with PHP changes at WordPress/wordpress-develop#12766

@oandregal oandregal added the Backport to WP 7.1 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Jul 30, 2026
@oandregal

oandregal commented Jul 30, 2026

Copy link
Copy Markdown
Member Author

One of the aspects that is challenging here is how the user preferences have been modeled to work with anything else:

  • The preferences store user preferences (e.g., changes to a filter) and the default view. Overrides (view list, default layouts) are not stored.
  • There are three different sources of data: core, plugins, users. Plugins can filter the default view or overrides.

So, there may be situations like this:

  • User changes the sorting field (and so the view is stored with that change + the default view).
  • User installs a plugin that modifies the type of the default view.
  • The plugin changes WILL NOT take effect. The default view is ignored when there's user changes (which is the case here).

But:

  • User changes the sorting field (and so the view is stored with that change + the default view)
  • User installs a plugin that modifies the type of one of the view list items (overrides).
  • The plugin changes WILL take effect. The overrides take precedence when we detect user hasn't changed anything from the default (which is the case here).

I think a simpler model to reason (and compute) would be: store only the user changes, not a whole view. And the hierarchy is core < plugin < user changes. This is, user changes take precedence over anything else, but only for the things they actually changed. That's how theme.json works, for example.

However, this is a change with how preferences work and would require users to reset their views. Additionally, the useView hook landed in WordPress 6.9, and we are in the RC cycle for 7.1. While I'd like to push for this change, I reckon the need for wider testing. This doesn't seem a good time for this. I'd leave it as it is, and will revisit later as necessary.

Comment thread packages/views/src/filter-utils.ts Outdated
Comment thread packages/views/src/filter-utils.ts Outdated
oandregal and others added 10 commits August 3, 2026 13:08
mergeOverrides completes a partial sort override from the default view's
sort, but stripOverrides compared the view's sort against the raw
override, so the completed sort was never stripped. It got persisted on
any unrelated change and left useView reporting isModified forever.

Compare against the merged shape instead, symmetric with mergeOverrides.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
layout is nested (layout.styles.<field>.<prop>), but merging was shallow
and stripping deleted whole top-level keys. An override for one field's
styles replaced the styles object, wiping every other field's width and
alignment, and stripping then dropped the whole key so the user's own
styles were never persisted.

Recurse into nested objects on both sides, treating arrays and scalars as
leaves. groupBy uses the same helpers; its values are scalars, so its
behaviour is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Resolve the view out of a stack of layers, later ones overriding earlier
ones: the default view, the default layouts for the effective type, the
active view overrides, the user's preference, and the URL query params.
Every layer merges leaf by leaf, so `layout`, `groupBy` and `sort` no
longer wipe the siblings the layers below provide, while arrays stay
leaves and are replaced wholesale.

Persist only the leaves the user's view differs from what the layers
below resolve to. A property the user never touched keeps resolving out
of those layers, so a later change to any of them shows through; one
they did pick sticks, even when it happens to be the value a lower layer
already carries.

`page` and `search` are sourced from the URL alone and reported back
through `onChangeQueryParams` instead of being persisted.

Replaces filter-utils' merge/strip pair with resolve-view.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A layout switch reports the new type together with that type's
defaultLayouts entry merged in. Diffing against the base resolved at the
previous type persisted the differences between the two entries as user
modifications, which lingered as phantoms after switching back — the
view looked default but stayed marked as modified.

See #80832 (comment)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ntsekouras

Copy link
Copy Markdown
Contributor

It seems safe to implement that change, for people with the views preference stored with the old approach things will work as they were right? The same view will load (it is just our system thinks the user configured everything) but the end result is the same? These users will just face the default bug that already existed correct?

Yeah, if we don't clear those preferences, they stay as they are. Meaning that there's more preferences stored than the user selected, as so filters won't work because there's an user preference. This can be fixed by reseting the view and start over.

I think it's fine that preferences stored by the old model keep working as they do today. That keeps their current setup stable.

@ntsekouras ntsekouras left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think that's ready to land. Thanks for all the iterations!

@oandregal
oandregal force-pushed the fix/use-view-hook-overrides branch from a049c80 to 3cbf504 Compare August 3, 2026 12:02
@oandregal
oandregal merged commit e7ea49d into trunk Aug 3, 2026
60 checks passed
@oandregal
oandregal deleted the fix/use-view-hook-overrides branch August 3, 2026 14:13
@github-project-automation github-project-automation Bot moved this from 🔎 Needs Review to ✅ Done in WordPress 7.1 Editor Tasks Aug 3, 2026
@github-actions github-actions Bot added this to the Gutenberg 23.8 milestone Aug 3, 2026
@github-actions github-actions Bot removed the Backport to WP 7.1 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Aug 3, 2026
@github-actions github-actions Bot added the Backported to WP Core Pull request that has been successfully merged into WP Core label Aug 3, 2026
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

I just cherry-picked this PR to the wp/7.1 branch to get it included in the next release: ad20d8f

* WordPress dependencies
*/
import { createRegistry, RegistryProvider } from '@wordpress/data';
// @ts-ignore - Preferences package is not typed

@manzoorwanijk manzoorwanijk Aug 4, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is not correct. The preferences store is fully typed. Apart from that, we should use // @ts-expect-error to ensure this suppression is flagged when things change.

Also, I just now noticed that the package uses React without declaring react or react-dom as a dependency.

pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Aug 5, 2026
This updates the pinned commit hash of the Gutenberg repository from `fd715a6833679d098d9fee84b642f8f1bc27341b` to `f05e40e91c54f29c449b1f33d0db89f5166812d9`.

A full list of changes included in this commit can be found on GitHub: 
WordPress/gutenberg@fd715a6...f05e40e

- Writing flow: forward delete an empty paragraph without breaking apart the next block (WordPress/gutenberg#80813)
- Upload Media: Fail the item when the /finalize request fails (WordPress/gutenberg#80725)
- Fix template `modified` and `date` return value for file templates (WordPress/gutenberg#80733)
- Boot: Adjust specificity of the image reset styles so components can size their own images (WordPress/gutenberg#80845)
- Quote: Ensure paragraph placeholder appears after deleting nested blocks (WordPress/gutenberg#77151)
- Block editor: make the Group action wrap blocks with a group transform (WordPress/gutenberg#80891)
- Copy: preserve the block when its entire text is selected (WordPress/gutenberg#80994)
- Add opt-out for block style state controls (WordPress/gutenberg#80956) (WordPress/gutenberg#81004)
- Tabs: Support Home and End keys for keyboard navigation (WordPress/gutenberg#80912)
- Rename blockStatesEnabled setting to blockStatesEditingEnabled (WordPress/gutenberg#81058)
- [WP 7.1] Background: Fix the legacy gradient UI where a gradient cannot be selected (WordPress/gutenberg#81059)
- Views: honor developer-defined view config overrides (WordPress/gutenberg#80832)
- Playlist: Add track icon (WordPress/gutenberg#81078)
- Remove the CODEOWNERS file from wp/7.1. (WordPress/gutenberg#81104)
- Notes: Email users mentioned in a note (WordPress/gutenberg#79606)
- Backport 81068 80744 80642 (WordPress/gutenberg#81135)
- Site Editor: Add E2E coverage for view config extensibility (WordPress/gutenberg#80577)
- change from WordPress/gutenberg#81068 (WordPress/gutenberg#81140)
- Link Control: Restore the preview title underline (WordPress/gutenberg#81083)
- Button: Suppress UA focus ring when focused and pressed (WordPress/gutenberg#81113)
- View config: add reference docs (WordPress/gutenberg#81149)
- Editor: Fix document tools button focus ring (WordPress/gutenberg#81115)
- Interface: Increase footer breadcrumb height to prevent focus ring clipping (WordPress/gutenberg#81156)
- Post editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81112)
- Pass Playlist controls to track blocks (WordPress/gutenberg#81158)
- Theme: Omit color properties when neither provided nor inherited (WordPress/gutenberg#80600) (WordPress/gutenberg#81172)
- Media: Improve the HEIC upload error and keep any upload errors up until dismissed (WordPress/gutenberg#81130)
- Video: Hide settings for the GIF variation (WordPress/gutenberg#81142)
- Video: clarify the Video variation description (WordPress/gutenberg#81181)
- Button: turn on the width setting by default in theme.json (WordPress/gutenberg#81196)
- Edit Widgets: Fix header toolbar button focus ring (WordPress/gutenberg#81176)
- Build: Wrap script bundles in an IIFE to contain 'use strict' (WordPress/gutenberg#79792)
- Customizer widgets: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81174)
- Fix: Tabs block: Start with empty tab labels with placeholders (WordPress/gutenberg#81197)
- PanelColorSettings: Restore the missing space below the panel header (WordPress/gutenberg#81155)
- Visual revisions: add shareable urls (WordPress/gutenberg#81205)
- Notes: fix the mention notification email composition (WordPress/gutenberg#81187)
- Fix ESLint warnings for 'navigateRegionsProps' spread (WordPress/gutenberg#81208)
- Widgets editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81173)
- Remove the editableRoot opt-in from the paragraph block (WordPress/gutenberg#81184)
- Media Attached to: Fix issue with the popover unexpectedly flipping, tweak wording (WordPress/gutenberg#81206)
- Ensure device preview is always accurate when window is zoomed in (WordPress/gutenberg#81215)

Props wildworks.
See #65529.

git-svn-id: https://develop.svn.wordpress.org/trunk@63026 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Aug 5, 2026
This updates the pinned commit hash of the Gutenberg repository from `fd715a6833679d098d9fee84b642f8f1bc27341b` to `f05e40e91c54f29c449b1f33d0db89f5166812d9`.

A full list of changes included in this commit can be found on GitHub: 
WordPress/gutenberg@fd715a6...f05e40e

- Writing flow: forward delete an empty paragraph without breaking apart the next block (WordPress/gutenberg#80813)
- Upload Media: Fail the item when the /finalize request fails (WordPress/gutenberg#80725)
- Fix template `modified` and `date` return value for file templates (WordPress/gutenberg#80733)
- Boot: Adjust specificity of the image reset styles so components can size their own images (WordPress/gutenberg#80845)
- Quote: Ensure paragraph placeholder appears after deleting nested blocks (WordPress/gutenberg#77151)
- Block editor: make the Group action wrap blocks with a group transform (WordPress/gutenberg#80891)
- Copy: preserve the block when its entire text is selected (WordPress/gutenberg#80994)
- Add opt-out for block style state controls (WordPress/gutenberg#80956) (WordPress/gutenberg#81004)
- Tabs: Support Home and End keys for keyboard navigation (WordPress/gutenberg#80912)
- Rename blockStatesEnabled setting to blockStatesEditingEnabled (WordPress/gutenberg#81058)
- [WP 7.1] Background: Fix the legacy gradient UI where a gradient cannot be selected (WordPress/gutenberg#81059)
- Views: honor developer-defined view config overrides (WordPress/gutenberg#80832)
- Playlist: Add track icon (WordPress/gutenberg#81078)
- Remove the CODEOWNERS file from wp/7.1. (WordPress/gutenberg#81104)
- Notes: Email users mentioned in a note (WordPress/gutenberg#79606)
- Backport 81068 80744 80642 (WordPress/gutenberg#81135)
- Site Editor: Add E2E coverage for view config extensibility (WordPress/gutenberg#80577)
- change from WordPress/gutenberg#81068 (WordPress/gutenberg#81140)
- Link Control: Restore the preview title underline (WordPress/gutenberg#81083)
- Button: Suppress UA focus ring when focused and pressed (WordPress/gutenberg#81113)
- View config: add reference docs (WordPress/gutenberg#81149)
- Editor: Fix document tools button focus ring (WordPress/gutenberg#81115)
- Interface: Increase footer breadcrumb height to prevent focus ring clipping (WordPress/gutenberg#81156)
- Post editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81112)
- Pass Playlist controls to track blocks (WordPress/gutenberg#81158)
- Theme: Omit color properties when neither provided nor inherited (WordPress/gutenberg#80600) (WordPress/gutenberg#81172)
- Media: Improve the HEIC upload error and keep any upload errors up until dismissed (WordPress/gutenberg#81130)
- Video: Hide settings for the GIF variation (WordPress/gutenberg#81142)
- Video: clarify the Video variation description (WordPress/gutenberg#81181)
- Button: turn on the width setting by default in theme.json (WordPress/gutenberg#81196)
- Edit Widgets: Fix header toolbar button focus ring (WordPress/gutenberg#81176)
- Build: Wrap script bundles in an IIFE to contain 'use strict' (WordPress/gutenberg#79792)
- Customizer widgets: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81174)
- Fix: Tabs block: Start with empty tab labels with placeholders (WordPress/gutenberg#81197)
- PanelColorSettings: Restore the missing space below the panel header (WordPress/gutenberg#81155)
- Visual revisions: add shareable urls (WordPress/gutenberg#81205)
- Notes: fix the mention notification email composition (WordPress/gutenberg#81187)
- Fix ESLint warnings for 'navigateRegionsProps' spread (WordPress/gutenberg#81208)
- Widgets editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81173)
- Remove the editableRoot opt-in from the paragraph block (WordPress/gutenberg#81184)
- Media Attached to: Fix issue with the popover unexpectedly flipping, tweak wording (WordPress/gutenberg#81206)
- Ensure device preview is always accurate when window is zoomed in (WordPress/gutenberg#81215)

Props wildworks.
See #65529.
Built from https://develop.svn.wordpress.org/trunk@63026


git-svn-id: http://core.svn.wordpress.org/trunk@62245 1a063a9b-81f0-0310-95a4-ce76da25c4cd
DanielHudson2 pushed a commit to DanielHudson2/wordpress-develop that referenced this pull request Aug 10, 2026
This updates the pinned commit hash of the Gutenberg repository from `fd715a6833679d098d9fee84b642f8f1bc27341b` to `f05e40e91c54f29c449b1f33d0db89f5166812d9`.

A full list of changes included in this commit can be found on GitHub: 
WordPress/gutenberg@fd715a6...f05e40e

- Writing flow: forward delete an empty paragraph without breaking apart the next block (WordPress/gutenberg#80813)
- Upload Media: Fail the item when the /finalize request fails (WordPress/gutenberg#80725)
- Fix template `modified` and `date` return value for file templates (WordPress/gutenberg#80733)
- Boot: Adjust specificity of the image reset styles so components can size their own images (WordPress/gutenberg#80845)
- Quote: Ensure paragraph placeholder appears after deleting nested blocks (WordPress/gutenberg#77151)
- Block editor: make the Group action wrap blocks with a group transform (WordPress/gutenberg#80891)
- Copy: preserve the block when its entire text is selected (WordPress/gutenberg#80994)
- Add opt-out for block style state controls (WordPress/gutenberg#80956) (WordPress/gutenberg#81004)
- Tabs: Support Home and End keys for keyboard navigation (WordPress/gutenberg#80912)
- Rename blockStatesEnabled setting to blockStatesEditingEnabled (WordPress/gutenberg#81058)
- [WP 7.1] Background: Fix the legacy gradient UI where a gradient cannot be selected (WordPress/gutenberg#81059)
- Views: honor developer-defined view config overrides (WordPress/gutenberg#80832)
- Playlist: Add track icon (WordPress/gutenberg#81078)
- Remove the CODEOWNERS file from wp/7.1. (WordPress/gutenberg#81104)
- Notes: Email users mentioned in a note (WordPress/gutenberg#79606)
- Backport 81068 80744 80642 (WordPress/gutenberg#81135)
- Site Editor: Add E2E coverage for view config extensibility (WordPress/gutenberg#80577)
- change from WordPress/gutenberg#81068 (WordPress/gutenberg#81140)
- Link Control: Restore the preview title underline (WordPress/gutenberg#81083)
- Button: Suppress UA focus ring when focused and pressed (WordPress/gutenberg#81113)
- View config: add reference docs (WordPress/gutenberg#81149)
- Editor: Fix document tools button focus ring (WordPress/gutenberg#81115)
- Interface: Increase footer breadcrumb height to prevent focus ring clipping (WordPress/gutenberg#81156)
- Post editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81112)
- Pass Playlist controls to track blocks (WordPress/gutenberg#81158)
- Theme: Omit color properties when neither provided nor inherited (WordPress/gutenberg#80600) (WordPress/gutenberg#81172)
- Media: Improve the HEIC upload error and keep any upload errors up until dismissed (WordPress/gutenberg#81130)
- Video: Hide settings for the GIF variation (WordPress/gutenberg#81142)
- Video: clarify the Video variation description (WordPress/gutenberg#81181)
- Button: turn on the width setting by default in theme.json (WordPress/gutenberg#81196)
- Edit Widgets: Fix header toolbar button focus ring (WordPress/gutenberg#81176)
- Build: Wrap script bundles in an IIFE to contain 'use strict' (WordPress/gutenberg#79792)
- Customizer widgets: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81174)
- Fix: Tabs block: Start with empty tab labels with placeholders (WordPress/gutenberg#81197)
- PanelColorSettings: Restore the missing space below the panel header (WordPress/gutenberg#81155)
- Visual revisions: add shareable urls (WordPress/gutenberg#81205)
- Notes: fix the mention notification email composition (WordPress/gutenberg#81187)
- Fix ESLint warnings for 'navigateRegionsProps' spread (WordPress/gutenberg#81208)
- Widgets editor: Add ThemeProvider for admin color schemes (WordPress/gutenberg#81173)
- Remove the editableRoot opt-in from the paragraph block (WordPress/gutenberg#81184)
- Media Attached to: Fix issue with the popover unexpectedly flipping, tweak wording (WordPress/gutenberg#81206)
- Ensure device preview is always accurate when window is zoomed in (WordPress/gutenberg#81215)

Props wildworks.
See #65529.

git-svn-id: https://develop.svn.wordpress.org/trunk@63026 602fd350-edb4-49c9-b593-d223f7449a82
@sirreal sirreal added the [Package] Views /packages/views label Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backported to WP Core Pull request that has been successfully merged into WP Core [Package] Views /packages/views [Type] Bug An existing feature does not function as intended

Projects

Development

Successfully merging this pull request may close these issues.

Some properties of view config do not work as expected

6 participants