diff --git a/.changeset/tidy-carpets-play.md b/.changeset/tidy-carpets-play.md new file mode 100644 index 00000000..a1e85fae --- /dev/null +++ b/.changeset/tidy-carpets-play.md @@ -0,0 +1,5 @@ +--- +'@reactflow/core': patch +--- + +EdgeRenderer: check all handles for connection mode loose diff --git a/packages/core/src/container/EdgeRenderer/index.tsx b/packages/core/src/container/EdgeRenderer/index.tsx index e07948ad..762985fd 100644 --- a/packages/core/src/container/EdgeRenderer/index.tsx +++ b/packages/core/src/container/EdgeRenderer/index.tsx @@ -116,7 +116,7 @@ const EdgeRenderer = (props: EdgeRendererProps) => { const targetNodeHandles = connectionMode === ConnectionMode.Strict ? targetHandleBounds!.target - : targetHandleBounds!.target || targetHandleBounds!.source; + : (targetHandleBounds!.target ?? []).concat(targetHandleBounds!.source ?? []); const sourceHandle = getHandle(sourceHandleBounds!.source!, edge.sourceHandle || null); const targetHandle = getHandle(targetNodeHandles!, edge.targetHandle || null); const sourcePosition = sourceHandle?.position || Position.Bottom;