Problem/Motivation

buildForm() builds the browser form from its config - the widgets and their settings - and already collects each widget's access() cache metadata, but never adds the browser config itself. So a config change doesn't invalidate a rendered browser; the iframe stays stale out of Dynamic Page Cache until the cache clears.

Came up in #3576977: Fix Drupal 12 deprecations: replace FormElement, renderPlain() and FileSystemInterface::EXISTS_RENAME: a widget's accepted extensions didn't update on the second page load.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

velmir_taky created an issue. See original summary.

velmir_taky’s picture

Status: Active » Needs review

Fix + kernel test. buildForm() now adds the browser config as a cache dependency, so the form carries config:entity_browser.browser. and config saves invalidate it. Test sits next to testDefaultWidget - builds the form, checks the tag is on #cache.

velmir_taky’s picture

Assigned: velmir_taky » Unassigned
berdir’s picture

Status: Needs review » Fixed

Merging.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

  • berdir committed f0e4eacc on 8.x-2.x authored by velmir_taky
    fix: #3616416 Entity browser form does not declare its config as a cache...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.