diff --git a/.changeset/early-comics-knock.md b/.changeset/early-comics-knock.md new file mode 100644 index 00000000..d154211b --- /dev/null +++ b/.changeset/early-comics-knock.md @@ -0,0 +1,5 @@ +--- +'@xyflow/system': patch +--- + +fix(nodes): re-measure when measured is not set diff --git a/packages/system/src/utils/store.ts b/packages/system/src/utils/store.ts index 5a977cc0..c800c90b 100644 --- a/packages/system/src/utils/store.ts +++ b/packages/system/src/utils/store.ts @@ -80,7 +80,8 @@ export function adoptUserNodes( }, internals: { positionAbsolute: getNodePositionWithOrigin(userNode, _options.nodeOrigin), - handleBounds: internalNode?.internals.handleBounds, + // if user re-initializes the node or removes `measured` for whatever reason, we reset the handleBounds so that the node gets re-measured + handleBounds: !userNode.measured ? undefined : internalNode?.internals.handleBounds, z: calculateZ(userNode, selectedNodeZ), userNode, },