Overview

Component instances are not updating in the same way in regions than other entities.

STR (tested this on top of #3568602: Handle upgrading and rendering not yet upgraded component instances of components with new(ly) required props that include an example value, but shouldn't be relevant:

1. Enable page regions on Olivero theme (or your default theme)
2. Add the "Columns" component with 2 columns.
3. Add an instance of "Experimental" component in each.
4. Create a pattern from that "columns"
5. Add the pattern.
6. Move the resulting "Columns" instance to the "Content below" region.
7. Publish everything
8. Edit "Experimental" removing the existing prop, and add a new required prop.
9. Cache rebuild to get the updated Component config instance.
10. Refresh the canvas page.

Expected: all instances are refreshed
Current result: the content below instances are broken.

See attached screenshot:

Screenshot of broken components

Proposed resolution

User interface changes

Comments

penyaskito created an issue. See original summary.

penyaskito’s picture

StatusFileSize
new1.12 MB

I think this might not be a real issue, but a UX problem.

The page region is upgraded, but in auto-save. If you publish _just_ that, the content becomes available again.

After publishing page region, all looks good.

The real issue is that component developers _should_ develop their component in a backwards compatible way. If you add required props, you are risking this to happen.

nagwani’s picture

I am not able to reproduce this anymore. Seems like this was fixed with #3568602

nagwani’s picture

Issue tags: +triaged
longwave’s picture

Status: Active » Postponed (maintainer needs more info)

Also can't reproduce this given the steps in the IS, the component still works and does not error when required props are changed around.

nagwani’s picture

Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)

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.

penyaskito’s picture

Assigned: Unassigned » penyaskito
Priority: Major » Normal
Status: Closed (cannot reproduce) » Postponed (maintainer needs more info)
Issue tags: -data integrity

It's not gonna break per #3568602: Handle upgrading and rendering not yet upgraded component instances of components with new(ly) required props that include an example value, but it might be good verifying that auto-saved data is actually used when rendering regions on previews. Definitely not major anymore, and should not be tagged with data integrity.

penyaskito’s picture

Component: Data model » Theme builder

Not even data model related anymore.