@@ -255,22 +255,48 @@ export function hasWorkflowChanged(
255255 const currentBlock = currentState . blocks [ blockId ]
256256 const deployedBlock = deployedState . blocks [ blockId ]
257257
258- // Destructure and exclude non-functional fields
259- const { position : _currentPos , subBlocks : currentSubBlocks = { } , ...currentRest } = currentBlock
258+ // Destructure and exclude non-functional fields:
259+ // - position: visual positioning only
260+ // - subBlocks: handled separately below
261+ // - layout: contains measuredWidth/measuredHeight from autolayout
262+ // - height: block height measurement from autolayout
263+ const {
264+ position : _currentPos ,
265+ subBlocks : currentSubBlocks = { } ,
266+ layout : _currentLayout ,
267+ height : _currentHeight ,
268+ ...currentRest
269+ } = currentBlock
260270
261271 const {
262272 position : _deployedPos ,
263273 subBlocks : deployedSubBlocks = { } ,
274+ layout : _deployedLayout ,
275+ height : _deployedHeight ,
264276 ...deployedRest
265277 } = deployedBlock
266278
279+ // Also exclude width/height from data object (container dimensions from autolayout)
280+ const {
281+ width : _currentDataWidth ,
282+ height : _currentDataHeight ,
283+ ...currentDataRest
284+ } = currentRest . data || { }
285+ const {
286+ width : _deployedDataWidth ,
287+ height : _deployedDataHeight ,
288+ ...deployedDataRest
289+ } = deployedRest . data || { }
290+
267291 normalizedCurrentBlocks [ blockId ] = {
268292 ...currentRest ,
293+ data : currentDataRest ,
269294 subBlocks : undefined ,
270295 }
271296
272297 normalizedDeployedBlocks [ blockId ] = {
273298 ...deployedRest ,
299+ data : deployedDataRest ,
274300 subBlocks : undefined ,
275301 }
276302
0 commit comments