From 463aa2ef774a0321c9bd650c59904f08e48efcae Mon Sep 17 00:00:00 2001 From: Leopoldadmin Date: Mon, 29 Jun 2026 16:44:38 +0200 Subject: [PATCH] fix: collab sync overwrites blocks with empty array - collab.blocks sync had no guard against empty arrays - when project loads, collab syncs empty blocks from server - this overwrites createDefaultBlocks() with empty array - added if (collab.blocks.length > 0) guard, same as layers --- frontend/src/App.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 02f2376..7f9c9a5 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -309,9 +309,12 @@ const CADEditor: React.FC = ({ projectId, token, onNavigateBack if (!sameLayers) setLayers(collab.layers); } - const sameBlocks = collab.blocks.length === blocks.length && - collab.blocks.every((b, i) => b.id === blocks[i]?.id); - if (!sameBlocks) setBlocks(collab.blocks); + // Never overwrite local blocks with empty remote blocks (prevents losing defaultBlocks) + if (collab.blocks.length > 0) { + const sameBlocks = collab.blocks.length === blocks.length && + collab.blocks.every((b, i) => b.id === blocks[i]?.id); + if (!sameBlocks) setBlocks(collab.blocks); + } // eslint-disable-next-line react-hooks/exhaustive-deps }, [collab.elements, collab.layers, collab.blocks, collab.status]);