6d22aabdc0c2ac12ea2e87d8c72d3c20a57b53d8
syncInstances rebuilds an instance's subtree from the master, so a node dropped, pasted, duplicated or moved into an instance vanished from every page on the next master edit. Chosen approach: BLOCK (not preserve-on-sync): - every resolver component's Craft canMoveIn/canMoveOut refuses a canvas inside an instance (canvas DnD, Layers DnD, actions.move); synthetic shell-inner nodes now carry the component's rules instead of hardcoded allow-all - insertBlock (BlocksPanel / EmptyContainerAdd / palette), paste (menu + shortcut), duplicate (menu + shortcut) and Sitesmith patch/section replace redirect to after the instance or refuse; no empty-container '+' inside one The instance root still moves/duplicates as a whole; content overrides are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Languages
TypeScript
75.7%
JavaScript
12.4%
HTML
8.7%
CSS
2.6%
PHP
0.4%
Other
0.2%