Commit Graph

1417 Commits

Author SHA1 Message Date
filtered
84dad03f4d Remove static circular dependency workaround (#734)
Workaround originally implemented when converting to ES modules, but is
now redundant.

`DEFAULT_EVENT_LINK_COLOR` confirmed unused in code search (litegraph
events).
2025-03-10 15:29:33 +00:00
filtered
c5cb4cea43 [TS] Clean up serialisation interfaces (#733)
Removes legacy generic & dynamic typing, and standardises TS styles.
2025-03-10 15:07:56 +00:00
filtered
e632f5c69b Fix all unknown slot props are serialised (#732)
Ensures only specified properties are cloned for serialisation.
2025-03-10 12:20:34 +00:00
filtered
4589938ceb [TS] Fix invalid type assertion (#731)
- Follow-up on #728
2025-03-10 08:55:51 +00:00
VeeloxShadow
acdbbd547e Fix downstream extension context menu does not load (#728)
- Adds optional chaining for event target
2025-03-10 19:41:46 +11:00
Comfy Org PR Bot
9c60788948 0.10.0-0 (#727)
version increment to 0.10.0-0

Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-03-09 00:21:06 +00:00
filtered
c0bfe5489f [API] Add LinkConnector - replaces connecting_links (#726)
### LinkConnector

Replaces the minimal-change effort of `connecting_links` with a more
reliable implementation.

- Subscribable, event-based API
- Uses browser-standard `e.preventDefault()` to cancel `before-*` events
- Uses standard `state` POJO - can be proxied without issue
- Structures code and separates concerns out of `LGraphCanvas`
- Link creation calls can now be made from anywhere, without the need
for a rewrite
- New canvas sub-components now live in `src/canvas/`

### Rendering

- Skips link segments by setting a `_dragging` bool flag on the LLink or
Reroute
- Moves some previously nested code to event listeners, configured in
the `LGraphCanvas` constructor

### Deprecation

`LGraphCanvas.connecting_links` is now deprecated and will later be
removed.

Until it is removed, to prevent breaking extensions it will continue to
be set and cleared by a legacy callback. The contents of this property
are ignored; code search revealed no exentsions actually modifying the
array.
2025-03-08 23:48:45 +00:00
filtered
8e59fbfaa2 Prep link connector (#725)
Prepration for LinkConnector replacement

- Simplifies code
- Minor perf improvement
- nits and clean up
2025-03-08 20:43:27 +00:00
filtered
5ab9d9d25c Warn users if calling connectSlots incorrectly (#724)
Prevents silent failures from going unnoticed.
2025-03-08 18:21:10 +00:00
filtered
68945cb54d Remove getTime workaround and Node.js type bleeding (#723)
- Removes legacy timer workaround (redundant on Chrome v6 / Node.js v16)
- Removes old type workarounds
- Improves type inference speed
2025-03-08 13:27:49 +00:00
filtered
7119480f84 [CI] Add pre-release options (#722)
Adds release steps to README.
2025-03-08 16:20:21 +11:00
filtered
8153e65b3b [CI] Pin third party action to SHA (#721)
Pins third party GitHub action to specific SHA. This will need to be
updated, but removes the possibility of any unexpected surprises (new
bugs / security concerns).
2025-03-08 04:35:40 +00:00
Comfy Org PR Bot
a9ace409a4 0.9.9 (#720)
version increment to 0.9.9

Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-03-07 13:22:05 -05:00
Chenlei Hu
c21510773e [Bug] Fix link drop on multi-line string dom widget (#718)
Resolves https://github.com/Comfy-Org/ComfyUI_frontend/issues/2905
2025-03-07 10:28:07 -05:00
filtered
20bdc47550 [API] Add convenience methods to LGraphNode (#717)
- getInputOnPos
- getOutputOnPos
- getSlotOnPos
- Follow-up on #716 
- Uses more explicit names for class methods moved to module functions
2025-03-07 14:38:55 +00:00
filtered
3e44f6a0c1 [API] Add improved slot locator functions (#716)
- Returns object with slot, index, and pos
- Locate-by-type returns object with slot & index
- Uses standard `undefined` return for concise chaining & validation
- Free 10x perf increase over getConnectionPos (used basic random data
to test, out of curiosity)
2025-03-07 13:18:06 +00:00
filtered
84fad5b8a5 [Perf] Fix unnecessary canvas redraw (null vs undefined) (#715)
Fixes regression added in TS strict conversion. A fallback to `null`
added to match the TS type, however value being stored was actually
uncaught use of `undefined`.

`null` !== `undefined` -> redraw every frame the pointer moves
2025-03-07 11:50:53 +00:00
Comfy Org PR Bot
c1af1e29d2 0.9.8 (#714)
version increment to 0.9.8

Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-03-07 09:31:10 +00:00
filtered
7e2009188d [Refactor] Split functions out to file (#713)
Splits code out from `LGraphCanvas`.
2025-03-07 09:07:38 +00:00
Comfy Org PR Bot
1d31635072 0.9.7 (#712)
version increment to 0.9.7

Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-03-06 15:22:28 -05:00
Chenlei Hu
54f96ca028 Add LGraphCanvas.isNodeVisible (#711)
Add LGraphCanvas.isNodeVisible or more efficient node visibility checks.
2025-03-06 15:20:51 -05:00
filtered
a5c2464c88 [Refactor] Simplify code - getConnectionOnPos (#710)
Improves readability of `LGraphNode.getConnectionOnPos`.
2025-03-06 12:00:51 +00:00
filtered
e62ef2e0aa [Refactor] Prefer undefined over explicit null (#709)
- Ref: #595
2025-03-05 10:22:51 +00:00
filtered
7a2af7008b [Refactor] Rename to connectSlots (#708)
- Follow-up on #703 
- Changes name to match original intent
2025-03-05 19:01:26 +11:00
Comfy Org PR Bot
493e374b7d 0.9.6 (#706)
version increment to 0.9.6

Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-03-04 15:44:29 +00:00
filtered
40137176f3 [chore] Update package - @node/types (#707)
Match node types lib to TypeScript version.
2025-03-04 15:42:50 +00:00
filtered
b63ef93bb7 Update package - TypeScript 5.8 (#705)
Updates to latest TypeScript package.
2025-03-04 15:07:01 +00:00
filtered
68f6f2d2c8 [chore] Update eslint packages (#704)
Use latest packages for eslint, typescript eslint, and stylistic.
2025-03-04 14:42:43 +00:00
filtered
3411ecbc15 [Refactor] Allow bypassing legacy duck-typed API (#703)
`LGraphNode.connect()` has been altered many times and attempts to
handle too many scenarios in a single public call.

- Moves link creation to a separate function
- Allows the legacy duck-typed API to continue functioning as-is
2025-03-04 14:23:53 +00:00
filtered
8a3487a209 Remove redundant code - LGraphNode (#702)
- Removes unreachable and redundant code.
- Fixes TS type
2025-03-05 00:58:02 +11:00
filtered
8bee428375 [API] Remove unused LGraph.onNodeConnectionChange (#701)
Confirmed unused via code search.
2025-03-04 09:18:38 +00:00
filtered
e4a41669f6 Fix moving output links loses subsequent reroutes
Now maintains any level of reroute chain complexity when moving links.
2025-03-04 07:25:10 +11:00
Comfy Org PR Bot
91afd9305e 0.9.5 (#700)
version increment to 0.9.5

Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-03-04 06:21:41 +11:00
filtered
32b6b7eff9 Fix reroutes lost when moving links via outputs (#699)
- Resolves #309

https://github.com/user-attachments/assets/70c8b9ba-b4e6-4293-a254-6ae95930d1f1
2025-03-03 19:16:55 +00:00
Comfy Org PR Bot
10f2f2ca67 0.9.4 (#696)
Patch version increment to 0.9.4

Co-authored-by: webfiltered <176114999+webfiltered@users.noreply.github.com>
2025-03-03 17:54:49 +00:00
filtered
aca81a99c8 Fix regression in legacy search (#698)
- Resolves https://github.com/Comfy-Org/ComfyUI_frontend/issues/2828
- Issue caused by earlier instantiation of `input` object
2025-03-03 17:42:00 +00:00
filtered
b227eefbdd Improve connecting link logic (#697)
### Current

- Connections are disconnected the moment a link starts being dragged
- Reseating a connection where it came from creates a new connection
- If the process is somehow interrupted, the links are already gone

### Proposed

- Connection is disconnected after a new connection is made
- Rendering is bypassed for the link segment being moved
- Does nothing if dropping a link exactly where it came from
- Adds early return when trying to connect a node to itself
2025-03-03 17:03:31 +00:00
filtered
cef6ab6ced Improve link drag & drop (#380)
- Resolves
https://github.com/Comfy-Org/litegraph.js/issues/309#issuecomment-2508726168
- Output issue still pending
- Splits connecting links `pointerup` handler to separate function,
which can now be called from `CanvasPointer` callbacks
  - Minor refactor; no functional changes

### Behaviour change

When moving existing links from an input slot, the link will not be
disconnected until the drop event occurs.

### Current

Shift + drag


https://github.com/user-attachments/assets/0b98f9bf-3d5f-467e-9a9b-e5695e5a0d0b

### Proposed

Shift + drag

https://github.com/user-attachments/assets/0bc36215-0247-41da-8050-e8df09addf23
2025-03-04 01:26:56 +11:00
filtered
37b9798602 [CI] Rename workflow files (#695)
- Follow-up on #694

Split the file rename out for easier diffs.
2025-03-03 09:47:10 +00:00
filtered
1b10b0b0b6 [CI] Update workflow names & add descriptions (#694)
- Adds descriptions to workflows
- Auto-formats workflows
- Standardises formatting
2025-03-03 20:35:06 +11:00
Comfy Org PR Bot
c128551af5 0.9.3 (#693) 2025-03-03 06:31:14 +00:00
bymyself
83fb246119 Fix Selection Marquee display is offset when DPI < 1 (#692)
Fixes https://github.com/Comfy-Org/ComfyUI_frontend/issues/2481. The
canvas scaling behavior is not consistent with DPI which is the source
of many bugs. To verify, add console log somewhere:
2025-03-03 17:06:15 +11:00
Comfy Org PR Bot
2a12864a67 0.9.2 (#690)
Automated version bump to 0.9.2

Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-03-02 21:25:12 -05:00
Chenlei Hu
4cbf12849e [BugFix] Fix add node via context menu (2) (#689)
https://github.com/Comfy-Org/litegraph.js/pull/647 failed to convert
`return` to `continue` when converting forEach to for-lop.
2025-03-02 21:21:39 -05:00
Chenlei Hu
9af4ee120c Revert "[BugFix] Fix adding node via context menu" (#688)
Reverts Comfy-Org/litegraph.js#682

Reason: Revert improper fix.
2025-03-02 21:15:45 -05:00
Chenlei Hu
1200c0fd91 [CI] Sync workflow_tempaltes fetch (#687)
Sync https://github.com/Comfy-Org/ComfyUI_frontend/pull/2775
2025-03-02 19:12:44 -05:00
Comfy Org PR Bot
ff43f183d1 0.9.1 (#686)
Automated version bump to 0.9.1

Co-authored-by: huchenlei <20929282+huchenlei@users.noreply.github.com>
2025-03-02 18:52:36 -05:00
Chenlei Hu
66a9214de6 [CI] Use pr bot PAT (#685) 2025-03-02 18:52:28 -05:00
Chenlei Hu
1407f1d720 [nit] main -> master (#684) 2025-03-02 18:41:55 -05:00
Chenlei Hu
326670206d [BugFix] Fix adding node via context menu (#682)
Resolves https://github.com/Comfy-Org/ComfyUI_frontend/issues/2814

Culprit: https://github.com/Comfy-Org/litegraph.js/pull/647
2025-03-02 18:38:31 -05:00