Skip to content

Conversation

@Coder-Harshit
Copy link
Owner

No description provided.

@Coder-Harshit
Copy link
Owner Author

@Apoorv012

I did some changes to the way how Node handle works, would you be willing to test the changes.

[ Incorporated the logic of "LimitedConnectionHandle" with the "TypedHandle" ]

@Coder-Harshit Coder-Harshit marked this pull request as ready for review December 19, 2025 10:12
Copilot AI review requested due to automatic review settings December 19, 2025 10:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a restriction that limits target node handles to accept only one input connection, replacing the previous LimitedConnectionHandle component-based approach with edge-level enforcement in the connection logic. Additionally, it enhances the context menu UX with a modern two-column layout, keyboard navigation, and support for node descriptions.

Key Changes:

  • Enforces single-input limitation for target handles at the connection level by filtering out existing connections to the same target handle before adding a new one
  • Redesigns the context menu with a split-pane layout showing a searchable node list and a detail panel with descriptions
  • Adds keyboard navigation (Arrow keys, Tab, Enter, Escape) and improved search functionality to the context menu

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
frontend/src/types.ts Adds optional description field to MenuAction type for displaying node descriptions
frontend/src/components/ui/ContextMenu.tsx Complete redesign with two-column layout, keyboard navigation, fuzzy search enhancements, and description display support
frontend/src/components/nodes/rotateImageNode.tsx Migrates from LimitedConnectionHandle to TypedHandle and adds handle IDs and data types
frontend/src/components/handle/handleTypes.ts Removes obsolete type definitions for the deleted LimitedConnectionHandle component
frontend/src/components/handle/LimitedConnectionHandle.tsx Removes the component as single-input enforcement is now handled at the edge connection level
frontend/src/App.tsx Implements target handle single-input limitation by filtering existing connections before adding new edges, and passes node descriptions to the context menu

Coder-Harshit and others added 2 commits December 19, 2025 16:51
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@Apoorv012
Copy link
Contributor

I’ll review this later tonight and follow up.

Copy link
Contributor

Copilot AI commented Dec 19, 2025

@Coder-Harshit I've opened a new pull request, #62, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits December 19, 2025 11:36
Co-authored-by: Coder-Harshit <93333205+Coder-Harshit@users.noreply.github.com>
Fix keyboard navigation crash when context menu has no filtered results
@Coder-Harshit Coder-Harshit merged commit 6d11698 into main Dec 19, 2025
6 checks passed
@Apoorv012
Copy link
Contributor

Apoorv012 commented Dec 22, 2025

Hi, was not able to check any earlier.

Currently, a single source is able to provide to only one target, and if I try to make a connection from the source to a new target, it removes the older one, and keeps the new one.

Is this an intended behavior? I am asking this because I think that the user might want to provide the same input to multiple nodes. Like providing the same input, to maybe display, and other to rotate, and then display.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants