Skip to content

[6.x] Give nested sets and rows new ids when duplicating - #15190

Merged
jasonvarga merged 1 commit into
6.xfrom
duplicate-nested-set-ids
Aug 14, 2026
Merged

[6.x] Give nested sets and rows new ids when duplicating#15190
jasonvarga merged 1 commit into
6.xfrom
duplicate-nested-set-ids

Conversation

@duncanmcclean

@duncanmcclean duncanmcclean commented Aug 13, 2026

Copy link
Copy Markdown
Member

This pull request fixes an issue where duplicating a Replicator set, Grid row or Bard set didn't give any of the sets or rows nested inside it new ids, resulting in duplicate ids in the saved content.

This was happening because the duplicate methods deep copied the values verbatim, so anything nested inside kept its original _id (or attrs.id, in Bard's case). The nested field meta was copied across unchanged too, leaving it keyed by the old ids.

This PR fixes it by adding a duplicateValues() method to the ManagesRowMeta mixin, which deep copies a row's values, regenerates the ids of anything nested within it, and rekeys its meta to match. The Replicator, Grid and Bard fieldtypes all use it when duplicating, as does Bard when pasting a set.

Fixes #8438

`duplicateValues()` deep copies a row's values, regenerating `_id` on nested
Replicator sets and Grid rows, and `attrs.id` on nested Bard sets, then rekeys
the meta to match.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jasonvarga
jasonvarga merged commit 2400a3d into 6.x Aug 14, 2026
66 checks passed
@jasonvarga
jasonvarga deleted the duplicate-nested-set-ids branch August 14, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants