Skip to content

[5.x]: Reverting a revision removes Matrix blocks (propagationMethod: none) from saving site #18691

@milesjbland

Description

@milesjbland

What happened?

Description

When an entry is saved and a revision is created, Matrix/nested entry blocks with propagationMethod: none are not captured in the revision for the saving site. Reverting to that revision deletes the blocks on that site. Other sites' blocks appear unaffected by the revert itself, but the corrupted state then propagates when drafts are applied or further reverts are made.

Steps to reproduce

  1. Set up a multi-site Craft install (e.g. English + French)
  2. Create a section with propagationMethod: all
  3. Add a Matrix field with propagationMethod: none (blocks per-site)
  4. Create an entry on the English site and add Matrix blocks
  5. Switch to the French site and edit the same entry (e.g. add a block, change a field value) — this creates a new revision
  6. Revert to the revision that was just created (or any revision created from a non-English save)
  7. Revert to the revision that was just created — Matrix blocks on the French site are gone
  8. Check the English site — English blocks are still present

Expected behavior

Reverting to a revision should restore the Matrix blocks for the saving site to the state they were in when the revision was created.

Actual behavior

Matrix blocks with propagationMethod: none are not stored in the revision for the saving site. Reverting deletes blocks on that site. Other sites' blocks survive the initial revert, but the now-corrupted state (missing blocks on one site) gets baked into subsequent drafts and revisions, cascading the data loss across sites over time.

Environment

  • Craft CMS: 5.9.18
  • PHP: 8.2
  • Database: MySQL 8
  • Multi-site: 6 sites (EN, FR, DE, IT, PT, ES)
  • Matrix field propagation: none
  • Section propagation: all

Screenshots

Edit made on FR site:

Image

Reverting back to previous revision removes all blocks instead of removing the edit only:

Image

Craft CMS version

5.9.18

PHP version

8.2

Operating system and version

No response

Database type and version

No response

Image driver and version

No response

Installed plugins and versions

  • craftcms/redactor: 4.2.0
  • craftcms/element-api: 4.2.0
  • craftcms/html-field: 3.4.0
  • digitalpulsebe/craft-multi-translator: 2.23.2
  • nystudio107/craft-retour: 5.0.14
  • putyourlightson/craft-blitz: 5.12.8
  • putyourlightson/craft-sprig: 3.7.2
  • verbb/super-table: 4.0.5

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions