From ef79980fabf24dd6d3503eef6b3757742e58ba69 Mon Sep 17 00:00:00 2001 From: 1AhmedYasser <26207361+1AhmedYasser@users.noreply.github.com> Date: Fri, 12 Jun 2026 14:56:30 +0300 Subject: [PATCH 1/2] fix(1059): Fixed Branch Edge Merge After Node Deletion --- GUI/src/hooks/flow/useOnNodeDelete.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/GUI/src/hooks/flow/useOnNodeDelete.ts b/GUI/src/hooks/flow/useOnNodeDelete.ts index 875177a52..876a7e028 100644 --- a/GUI/src/hooks/flow/useOnNodeDelete.ts +++ b/GUI/src/hooks/flow/useOnNodeDelete.ts @@ -77,7 +77,8 @@ const processDeletedNodes = ( updatedNodes = [...updatedNodes.filter((n) => n.id !== node.id), ...newGhostNodes]; updatedEdges = [...getRemainingEdges(updatedEdges, getConnectedEdges([node], updatedEdges)), ...newEdges]; } else { - if (outgoers.length === 0 || outgoers.length > 1) { + const edgesWithoutDeleted = getRemainingEdges(updatedEdges, getConnectedEdges([node], updatedEdges)); + if (outgoers.length === 0 || outgoers.length > 1 || (outgoers.length === 1 && getIncomers(outgoers[0], updatedNodes, edgesWithoutDeleted).length > 0)) { const ghostNode: Node = { id: generateUniqueId(), type: 'ghost', From 26fbb00492e9dc535561841d1d1adbb12bcacfc4 Mon Sep 17 00:00:00 2001 From: 1AhmedYasser <26207361+1AhmedYasser@users.noreply.github.com> Date: Fri, 12 Jun 2026 14:57:53 +0300 Subject: [PATCH 2/2] fix(1059): Fixed format --- GUI/src/hooks/flow/useOnNodeDelete.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/GUI/src/hooks/flow/useOnNodeDelete.ts b/GUI/src/hooks/flow/useOnNodeDelete.ts index 876a7e028..5c1bf6565 100644 --- a/GUI/src/hooks/flow/useOnNodeDelete.ts +++ b/GUI/src/hooks/flow/useOnNodeDelete.ts @@ -78,7 +78,11 @@ const processDeletedNodes = ( updatedEdges = [...getRemainingEdges(updatedEdges, getConnectedEdges([node], updatedEdges)), ...newEdges]; } else { const edgesWithoutDeleted = getRemainingEdges(updatedEdges, getConnectedEdges([node], updatedEdges)); - if (outgoers.length === 0 || outgoers.length > 1 || (outgoers.length === 1 && getIncomers(outgoers[0], updatedNodes, edgesWithoutDeleted).length > 0)) { + if ( + outgoers.length === 0 || + outgoers.length > 1 || + (outgoers.length === 1 && getIncomers(outgoers[0], updatedNodes, edgesWithoutDeleted).length > 0) + ) { const ghostNode: Node = { id: generateUniqueId(), type: 'ghost',