microsoft / microsoft/Huabu

Allow users to manually change edge endpoints

Open
#76 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. Select an edge to expose draggable source and target endpoint handles.
  2. Drag either endpoint to a compatible handle on another node.
  3. Preserve the edge's label, style, and other metadata after reconnection.
  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.