Skip to content

Commit fdb8256

Browse files
authored
fix(subflow): remove all edges when removing a block from a subflow (#1003)
1 parent 5c16e7d commit fdb8256

File tree

1 file changed

+4
-17
lines changed
  • apps/sim/app/workspace/[workspaceId]/w/[workflowId]

1 file changed

+4
-17
lines changed

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -352,26 +352,13 @@ const WorkflowContent = React.memo(() => {
352352
// Remove parent-child relationship while preserving absolute position
353353
updateNodeParent(blockId, null)
354354

355-
// Clean up any edges that now cross container boundaries for this block
356-
const rfNodes = getNodes()
357-
const sourceOrTargetEdges = edgesForDisplay.filter(
355+
// Remove all edges connected to this block
356+
const connectedEdges = edgesForDisplay.filter(
358357
(e) => e.source === blockId || e.target === blockId
359358
)
360359

361-
sourceOrTargetEdges.forEach((edge) => {
362-
const sourceNode = rfNodes.find((n) => n.id === edge.source)
363-
const targetNode = rfNodes.find((n) => n.id === edge.target)
364-
const sourceParent = sourceNode?.parentId
365-
const targetParent = targetNode?.parentId
366-
367-
const crossesBoundary =
368-
(sourceParent && !targetParent) ||
369-
(!sourceParent && targetParent) ||
370-
(sourceParent && targetParent && sourceParent !== targetParent)
371-
372-
if (crossesBoundary) {
373-
removeEdge(edge.id)
374-
}
360+
connectedEdges.forEach((edge) => {
361+
removeEdge(edge.id)
375362
})
376363
} catch (err) {
377364
logger.error('Failed to remove from subflow', { err })

0 commit comments

Comments
 (0)