Allow users to manually change edge endpoints
Open
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 146
- Forks
- 20
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
Problem
Once an edge has been created, its source and target endpoints cannot be changed manually. Correcting a connection currently requires deleting the edge and recreating it, which is inefficient and can lose the edge label or styling.
Proposal
Allow users to manually reconnect either endpoint of an existing edge:
- Select an edge to expose draggable source and target endpoint handles.
- Drag either endpoint to a compatible handle on another node.
- Preserve the edge's label, style, and other metadata after reconnection.
- Cancel the operation when the endpoint is released on an invalid target, leaving the original edge unchanged.
Acceptance criteria
- Users can independently change the source or target endpoint of an existing edge.
- A valid drop reconnects the edge to the new node and handle.
- An invalid or cancelled drop restores the original connection without creating a dangling edge.
- Edge labels, styles, and metadata are preserved.
- Reconnecting an endpoint participates in undo and redo history.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the edge-selection and endpoint connection entry points, then trace undo/redo handling; the work is done when valid endpoint drops reconnect edges, invalid drops restore the original connection, metadata remains intact, and undo/redo covers the change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100