fix: prevent duplicate edges between same nodes #161
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes an issue where users could create multiple edges between the same two nodes, causing duplicate connections in the workflow data.
Problem
Users could drag from a node handle multiple times to create duplicate edges between the same source and target nodes. This created redundant data and visual clutter in the workflow canvas.
Example of the issue:
Solution
Added duplicate edge prevention in the onConnect and handleConnectionToNewNode functions in workflow-canvas.tsx:
Check for existing edges between the same source and target before creating new ones
Early return if a duplicate edge already exists
Maintains existing UX while preventing data integrity issues