Commit Graph

565 Commits

Author SHA1 Message Date
comfyanonymous 6efe561c2a Merge branch 'fix-template-sorting' of https://github.com/pythongosssss/ComfyUI 2023-12-03 22:51:23 -05:00
pythongosssss 77ab2c3f69 fix template sorting 2023-12-03 17:17:23 +00:00
pythongosssss 44d8abadf0 allow muting group node 2023-12-03 17:04:16 +00:00
pythongosssss 496de0891d Allow removing erroring embedded groups
Unregister group nodes on workflow change
2023-12-03 16:49:48 +00:00
comfyanonymous b2517b4ceb Load api workflow if regular workflow isn't in loaded image. 2023-12-02 13:56:11 -05:00
comfyanonymous 88e2c9746b Merge branch 'image-cache' of https://github.com/jn-jairo/ComfyUI 2023-12-02 13:02:33 -05:00
pythongosssss 28220fa839 Fix node growing with DOM widgets when adding image even if enough space 2023-12-02 12:02:03 +00:00
Jairo Correa c92f3dca73
Merge branch 'master' into image-cache 2023-12-02 05:16:21 -03:00
pythongosssss 8491280504
Add Extension tests (#2125)
* Add test for extension hooks
Add afterConfigureGraph callback

* fix comment
2023-12-01 17:24:20 -05:00
comfyanonymous ec7a00aa96 Fix extension widgets not working. 2023-12-01 04:13:04 -05:00
comfyanonymous 5d5c320054 Fix right click not working for some users. 2023-12-01 02:03:34 -05:00
pythongosssss 7f469203b7
Group nodes (#1776)
* setup ui unit tests

* Refactoring, adding connections

* Few tweaks

* Fix type

* Add general test

* Refactored and extended test

* move to describe

* for groups

* wip group nodes

* Relink nodes
Fixed widget values
Convert to nodes

* Reconnect on convert back

* add via node menu + canvas
refactor

* Add ws event handling

* fix using wrong node on widget serialize

* allow reroute pipe
fix control_after_generate configure

* allow multiple images

* Add test for converted widgets on missing nodes + fix crash

* tidy

* mores tests + refactor

* throw earlier to get less confusing error

* support outputs

* more test

* add ci action

* use lts node

* Fix?

* Prevent connecting non matching combos

* update

* accidently removed npm i

* Disable logging extension

* fix naming
allow control_after_generate custom name
allow convert from reroutes

* group node tests

* Add executing info, custom node icon
Tidy

* internal reroute just works

* Fix crash on virtual nodes e.g. note

* Save group nodes to templates

* Fix template nodes not being stored

* Fix aborting convert

* tidy

* Fix reconnecting output links on convert to group

* Fix links on convert to nodes

* Handle missing internal nodes

* Trigger callback on text change

* Apply value on connect

* Fix converted widgets not reconnecting

* Group node updates
- persist internal ids in current session
- copy widget values when converting to nodes
- fix issue serializing converted inputs

* Resolve issue with sanitized node name

* Fix internal id

* allow outputs to be used internally and externally

* order widgets on group node
various fixes

* fix imageupload widget requiring a specific name

* groupnode imageupload test
give widget unique name

* Fix issue with external node links

* Add VAE model

* Fix internal node id check

* fix potential crash

* wip widget input support

* more wip group widget inputs

* Group node refactor
Support for primitives/converted widgets

* Fix convert to nodes with internal reroutes

* fix applying primitive

* Fix control widget values

* fix test
2023-11-30 14:13:27 -05:00
comfyanonymous a667638442 Merge branch 'undo-redo' of https://github.com/pythongosssss/ComfyUI 2023-11-27 22:29:46 -05:00
pythongosssss 9be0b30cf1 fix formatting 2023-11-27 14:02:50 +00:00
pythongosssss 34eccd863b Add simple undo redo history 2023-11-27 14:00:15 +00:00
Jack Bauer 6aa1bcd601
Remove hard coded max_items in history API 2023-11-26 17:23:11 +04:00
comfyanonymous e020ab61f9 Fix output APNG not working with ffmpeg. 2023-11-24 18:24:19 -05:00
comfyanonymous 982338b9bb Fix issue loading webp files in UI. 2023-11-24 02:08:08 -05:00
comfyanonymous 02ffbb2de3 Fix typo. 2023-11-23 23:20:07 -05:00
pythongosssss 4d2437e681 Call widget onRemove to remove element 2023-11-23 19:43:55 +00:00
comfyanonymous a657f96c5c Add a node to save animated webp. 2023-11-23 14:28:41 -05:00
comfyanonymous d03d8aa2e3 Fix loading groups. 2023-11-23 01:09:15 -05:00
pythongosssss 70d2ea0faa
Control filter list (#2009)
* Add control_filter_list to filter items after queue

* fix regex

* backwards compatibility

* formatting

* revert

* Add and fix test
2023-11-22 12:52:20 -05:00
comfyanonymous 1ca4802e8c Merge branch 'hide-if-collapsed' of https://github.com/pythongosssss/ComfyUI 2023-11-22 11:46:21 -05:00
pythongosssss ab7d4f7848 Handle collapsing to hide element 2023-11-22 13:53:30 +00:00
pythongosssss 89e31abc46 Fix clipping of collapsed nodes 2023-11-21 17:54:01 +00:00
pythongosssss 6ff06fa796
Animated image output support (#2008)
* Refactor multiline widget into generic DOM widget

* wip webp preview

* webp support

* fix check

* fix sizing

* show image when zoomed out

* Swap webp checkto generic animated image flag

* remove duplicate

* Fix falsy check
2023-11-21 01:33:58 -05:00
comfyanonymous 2dd5b4dd78 Only show last 200 elements in the UI history tab. 2023-11-20 16:56:29 -05:00
comfyanonymous 7114cfec0e Always clone graph data when loading to fix some load issues. 2023-11-15 15:55:02 -05:00
42lux 7b87c825a3 Added Colorschemes. Arc, North and Github. 2023-11-15 02:37:35 +01:00
comfyanonymous eb0407e806 Update litegraph to latest. 2023-11-13 16:26:28 -05:00
comfyanonymous f12ec55983 Allow boolean widgets to have no options dict. 2023-11-13 00:42:34 -05:00
pythongosssss 4aeef781a3
Support number/text ids when importing API JSON (#1952)
* support numeric/text ids
2023-11-12 14:49:23 -05:00
Jairo Correa 006b24cc32 Prevent image cache 2023-11-11 15:56:14 -03:00
pythongosssss 72e3feb573
Load API JSON (#1932)
* added loading api json

* revert async change

* reorder
2023-11-09 13:33:43 -05:00
comfyanonymous cd6df8b323 Fix sanitize node name removing the "/" character. 2023-11-09 13:10:19 -05:00
comfyanonymous 02f062b5b7 Sanitize unknown node types on load to prevent XSS. 2023-11-05 12:29:28 -05:00
Matteo Spinelli 6e84a01ecc
Refactor the template manager (#1878)
* add drag-drop to node template manager

* better dnd, save field on change

* actually save templates

---------

Co-authored-by: matt3o <matt3o@gmail.com>
2023-11-02 12:29:57 -04:00
Joseph Antolick 88410ace9b fix: handle null case for currentNode widgets to prevent scroll error 2023-11-01 16:52:51 -04:00
comfyanonymous aac8fc99d6 Cleanup webp import code a bit. 2023-10-28 12:24:50 -04:00
comfyanonymous 40963b5a16 Apply primitive nodes to graph before serializing workflow. 2023-10-26 19:52:41 -04:00
comfyanonymous 5c65da312a Remove prints. 2023-10-23 23:39:22 -04:00
comfyanonymous b935bea3a0 The frontend can now load workflows from webp exif. 2023-10-23 21:13:50 -04:00
comfyanonymous 2ec6158e9e Call widget callback on value control to fix primitive node issue. 2023-10-22 23:38:18 -04:00
comfyanonymous 8cfce083c4 Fix primitive node control value not getting loaded. 2023-10-21 22:36:04 -04:00
comfyanonymous 8d50f0890d Merge branch 'templates-export-import' of https://github.com/jn-jairo/ComfyUI 2023-10-21 01:29:24 -04:00
pythongosssss 5818ca83a2
Unit tests + widget input fixes (#1760)
* setup ui unit tests

* Refactoring, adding connections

* Few tweaks

* Fix type

* Add general test

* Refactored and extended test

* move to describe

* for groups

* Add test for converted widgets on missing nodes + fix crash

* tidy

* mores tests + refactor

* throw earlier to get less confusing error

* support outputs

* more test

* add ci action

* use lts node

* Fix?

* Prevent connecting non matching combos

* update

* accidently removed npm i

* Disable logging extension

* added step to generate object_info

* fix python

* install python

* install deps

* fix cwd?

* logging

* Fix double resolve

* create dir

* update pkg
2023-10-20 22:49:04 -04:00
Jairo Correa 484bfe46c2 Clear importInput after import so change event works with same file 2023-10-20 15:19:29 -03:00
Dr.Lt.Data f1062be622 fix: Fixing intermittent crashes with undefined graphs in the Firefox browser. 2023-10-20 00:07:08 +09:00
Jairo Correa a555074737 Use name from input to export single node template 2023-10-17 19:44:26 -03:00
Jairo Correa 6dbb18df92 Export and import templates 2023-10-17 17:53:57 -03:00
comfyanonymous 88ceeb3f29 Merge branch 'fix-node-bounding' of https://github.com/jn-jairo/ComfyUI 2023-10-17 03:23:49 -04:00
Jairo Correa 5a608aa37c Fix node getBounding for collapsed nodes 2023-10-16 17:29:23 -03:00
Jairo Correa 682c84ccf3 Fix fit group to nodes with reroute and collapsed nodes 2023-10-16 16:00:01 -03:00
Jairo Correa e8c02219ee Fix add selected nodes to empty group 2023-10-16 15:26:36 -03:00
Jairo Correa 7d5d0fd577 Group options
- Add Group For Selected Nodes
- Add Selected Nodes To Group
- Fit Group To Nodes
2023-10-16 15:12:40 -03:00
comfyanonymous 1b782f2494 Merge branch 'group-select-nodes' of https://github.com/jn-jairo/ComfyUI 2023-10-14 14:28:59 -04:00
comfyanonymous a0ce8a443e Merge branch 'shortcut-collapse' of https://github.com/jn-jairo/ComfyUI 2023-10-14 14:28:17 -04:00
Jairo Correa a7b65b9505 Group menu option select nodes 2023-10-14 12:11:49 -03:00
Jairo Correa 2e6270e328 Stop auto queue on error 2023-10-14 11:56:44 -03:00
Jairo Correa 25f0f4e9c8 Shortcut Alt + C to collapse/uncollapse selected nodes 2023-10-14 11:54:33 -03:00
Chris 41d2c5660d add query 2023-10-12 14:26:53 +11:00
comfyanonymous 1f2f4eaa6f Fix bug when copying node with converted input. 2023-10-08 04:04:25 -04:00
Dr.Lt.Data a0b1d4f21d
improve: image preview (#1683)
* improve image preview
- grid mode: align in rectangle instead of first image, show cell border
- individual mode: proper ratio handling

* improve: fix preview button position instead of relative

* improve: image preview - compact mode for same aspect ratio
2023-10-08 03:00:33 -04:00
pythongosssss ae3e4e9ad8
access getConfig via a symbol so structuredClone works (#1677) 2023-10-06 16:48:30 -04:00
pythongosssss d761eaa486 if the output type is an array, use combo 2023-10-06 17:47:46 +01:00
pythongosssss b9b178b839 More cleanup of old type data
Fix connecting combos of same type from different types of node
2023-10-05 19:16:39 +01:00
pythongosssss 80932ddf40 updated messages 2023-10-05 17:13:13 +01:00
pythongosssss 0b9246d9fa allow connecting numbers merging config 2023-10-04 20:48:55 +01:00
pythongosssss 6fc7314393 support refreshing primitive combos
no longer uses combo list as type name
2023-10-03 20:19:12 +01:00
comfyanonymous 77c124c5a1 Fix typo. 2023-09-24 13:27:57 -04:00
comfyanonymous 0793eb9269 Only clear clipboard when copying nodes. 2023-09-20 23:16:01 -04:00
comfyanonymous 4d41bd595c Fix loading group titles. 2023-09-20 21:46:41 -04:00
comfyanonymous b92a86d737 Update litegraph to upstream. 2023-09-20 13:24:08 -04:00
comfyanonymous 6d3dee9d16 Clean up #1541. 2023-09-18 23:33:52 -04:00
City 7c93afd2cd
Manual float precision, toggle for old behavior (#1541)
* Add toggle for float rounding

* Add manual precision override
2023-09-18 23:20:00 -04:00
comfyanonymous db63aa7e53 Nodes can now control the rounding in the UI. 2023-09-17 12:49:06 -04:00
Dr.Lt.Data 4d5e057bb2 fix indent 2023-09-16 20:37:42 +09:00
Dr.Lt.Data 69680fede7 fix: thumbnail ratio fix for mixed ratio images 2023-09-16 20:36:00 +09:00
karrycharon 076f3e6310 fix structuredClone undefined error; 2023-09-15 16:37:58 +08:00
pythongosssss 0e4395a8a3 Allow pasting nodes with connections in firefox 2023-09-13 18:42:44 +01:00
comfyanonymous 9562a6b49e Fix a few clipboard issues. 2023-09-10 11:19:31 -04:00
comfyanonymous d4b2bc0964 Merge branch 'master' of https://github.com/miabrahams/ComfyUI 2023-09-10 10:15:02 -04:00
comfyanonymous 122fd5d37f Merge branch 'add-defaultInput' of https://github.com/chrisgoringe/ComfyUI 2023-09-10 03:18:05 -04:00
comfyanonymous 07691e80c3 Does it make sense to allow configuring the round and precision? 2023-09-09 03:15:31 -04:00
comfyanonymous 5c8b7ea03c Merge branch 'round-float-widgets' of https://github.com/chrisgoringe/ComfyUI 2023-09-09 03:07:57 -04:00
Chris 7372255e49 Specify the precision and rounding based on step 2023-09-09 15:21:38 +10:00
Michael Abrahams 264867bf87 Clear clipboard on copy 2023-09-08 12:42:13 -04:00
Chris 3ebe6b539a round float widgets (by default to 0.001) 2023-09-08 20:40:27 +10:00
MoonRide303 ff962098fd Fixed Load Image preview not displaying some files (issue #1158) 2023-09-08 08:43:17 +02:00
Chris 0782ac2a96 defaultInput 2023-09-08 14:53:59 +10:00
comfyanonymous cb080e771e Lower refresh timeout for search in litegraph. 2023-09-06 16:18:02 -04:00
Michael Poutre bc1f6e2185
fix(ui/widgets): Only set widget forceInput option if a widget is added 2023-09-05 15:06:46 -07:00
comfyanonymous f368e5ac7d Don't paste nodes when target is a textarea or a text box. 2023-09-05 01:22:26 -04:00
comfyanonymous 2d9d3ca38b Merge branch 'master' of https://github.com/miabrahams/ComfyUI 2023-09-04 14:51:19 -04:00
Michael Abrahams 6f70227b8c Add support for pasting images into the graph
It can be useful to paste images from the clipboard directly into the node graph.
This commit modifies copy and paste handling to support this.

When an image file is found in the clipboard, we check whether an image node is selected.
If so, paste the image into that node. Otherwise, a new node is created.
If no image data are found in the clipboard, we call the original Litegraph paste.
To ensure that onCopy and onPaste events are fired, we override Litegraph's ctrl+c and ctrl+v handling.

Try to detect whether the pasted image is a real file on disk, or just pixel data copied from e.g. Photoshop.
Pasted pixel data will be called 'image.png' and have a creation time of now.
If it is simply pasted data, we store it in the subfolder /input/clipboard/.

This also adds support for the subfolder property in the IMAGEUPLOAD widget.
2023-09-03 12:08:04 -04:00
Chris dfd6489c96 onExecutionStart 2023-09-03 07:53:02 +10:00
comfyanonymous 62efc78a4b Display history in reverse order to make it easier to load last gen. 2023-09-02 15:49:16 -04:00
comfyanonymous 6962cb46a9 Fix issue when node_input is undefined. 2023-09-02 12:17:30 -04:00
comfyanonymous 7291e303f6 Fix issue with some workflows not getting serialized. 2023-09-02 11:48:44 -04:00
comfyanonymous 36ea8784a8 Only return tuple of 3 args in CheckpointLoaderSimple. 2023-09-02 03:34:57 -04:00
Muhammed Yusuf 7891d13329
Added label for autoQueueCheckbox. (#1295)
* Added label for autoQueueCheckbox.

* Menu gets behind of some custom nodes.

* Edited extraOptions.
Options divided in to different divs to manage them with ease.
2023-09-02 02:58:23 -04:00
comfyanonymous c335fdf200 Merge branch 'pixelass-patch-1' of https://github.com/pixelass/ComfyUI 2023-09-01 11:48:11 -04:00
Michael Poutre 69c5e6de85
fix(widgets): Add options object if not present when forceInput: true 2023-08-31 17:58:43 -07:00
Michael Poutre 9a7a52f8b5
refactor/fix: Treat forceInput widgets as standard widgets 2023-08-31 17:58:43 -07:00
comfyanonymous 5f101f4da1 Update litegraph with upstream: middle mouse dragging. 2023-08-31 02:39:34 -04:00
Michael Poutre 6944288aff
refactor(ui): Switch statement, and handle other modes in group actions 2023-08-29 00:24:31 -07:00
Michael Poutre e30d546e38
feat(ui): Add node mode toggles to group context menu 2023-08-28 23:49:25 -07:00
Dr.Lt.Data d9f4922993
fix: cannot disable dynamicPrompts (#1327)
* fix: cannot disable dynamicPrompts

* indent fix

---------

Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2023-08-27 12:34:24 -04:00
comfyanonymous f081017c1a Save memory by storing text encoder weights in fp16 in most situations.
Do inference in fp32 to make sure quality stays the exact same.
2023-08-23 01:08:51 -04:00
comfyanonymous d7b3b0f8c1 Don't hardcode node names for image upload widget. 2023-08-22 19:41:49 -04:00
ncpt 81ccacaa7c
Make the extensions loads in parallel instead of waiting one by one 2023-08-19 17:36:13 +07:00
pythongosssss c828543a77 Allow user customizable css 2023-08-17 13:36:55 +01:00
comfyanonymous 7567c4ac8f Add bypass to readme and add a Bypass menu option to the nodes. 2023-08-15 13:28:34 -04:00
comfyanonymous f7e6a5ed07 Fix litegraph button being black on light theme. 2023-08-10 12:29:56 -04:00
comfyanonymous 5ac96897e9 Images can now be uploaded by dragging from another window in chromium. 2023-08-09 11:31:27 -04:00
Gregor Adams af32197067
feat(extensions): Allow hiding link connectors
Thank you for adding this feature (linksRenderMode) to core. I would like to add the "Hidden" option (invalid number 3 will just hide the connector lines), so that I can remove that extension from my extension pack to prevent conflicts

https://github.com/failfa-st/failfast-comfyui-extensions
2023-08-09 13:03:30 +02:00
comfyanonymous 5e2b4893da Fix path issue. 2023-08-07 19:29:36 -04:00
comfyanonymous 0ce8a540ce Update litegraph to latest. 2023-08-06 14:36:43 -04:00
comfyanonymous 0cb14a33f6 Fix issue with logging missing nodes. 2023-08-05 21:54:58 -04:00
pythongosssss b948b2cf41 handle value missing 2023-08-05 11:04:04 +01:00
pythongosssss 32e115b818 prevent crashing if the widget cant be found 2023-08-05 11:00:18 +01:00
pythongosssss 8918f1085c Add setting to change link render mode
Add support for combo settings
2023-08-04 21:26:11 +01:00
comfyanonymous cb25b88329 Merge branch 'logging' of https://github.com/pythongosssss/ComfyUI 2023-08-04 12:12:39 -04:00
comfyanonymous 3d614dde49 Fix bug with reroutes and bypass. 2023-08-04 03:47:45 -04:00
pythongosssss b2ea0cbd5c add logging 2023-08-04 08:30:01 +01:00
pythongosssss 43ae9fe721 add system stats function 2023-08-04 08:29:51 +01:00
comfyanonymous d7638c47fc Fix ui inconsistency. 2023-08-04 03:22:47 -04:00
comfyanonymous c99d8002f8 Make sure the pooled output stays at the EOS token with added embeddings. 2023-08-03 20:27:50 -04:00
Dr.Lt.Data 9534f0f8a5
allows convert to widget for boolean type (#1063) 2023-08-03 20:24:52 -04:00
comfyanonymous d1347544bc Make context menu filter import from relative path. 2023-08-03 16:51:37 -04:00
comfyanonymous 077617e8c9 Fix bypassed nodes with no inputs. 2023-08-03 02:57:40 -04:00
comfyanonymous 19fbab6ce3 Fix reroute nodes not working with bypassed nodes. 2023-08-03 02:38:11 -04:00
comfyanonymous 05321fd947 Add an experimental CTRL-B shortcut to bypass nodes. 2023-08-03 01:57:00 -04:00
comfyanonymous e4a3e9e54c Add an option in the UI to disable sliders. 2023-08-01 18:50:06 -04:00
comfyanonymous 38cfba0430 Rename toggle to boolean. 2023-08-01 03:08:35 -04:00
comfyanonymous 076d2db60f display_as -> display. 2023-07-31 22:41:54 -04:00
Guillaume Faguet 6cdc9afc7c pass slider type as option 2023-07-31 08:48:44 +02:00
Guillaume Faguet d3d9ad00d8 added slider and toggle widget 2023-07-29 14:48:00 +02:00
melMass 5190aa284d fix: ️ small type fix
getCustomWidgets expects a plain record and not an array of records
2023-07-21 13:19:05 +02:00
comfyanonymous 907c9fbf0d Refactor to make it easier to set the api path. 2023-07-14 00:50:49 -04:00
comfyanonymous 30ea187160 Merge branch 'use-relative-paths' of https://github.com/mcmonkey4eva/ComfyUI 2023-07-13 23:56:29 -04:00
comfyanonymous 8a577966c5 Enables a way to save workflows in api format in frontend.
Enable the dev mode in the settings to see it.
2023-07-13 21:08:54 -04:00
comfyanonymous 876dadca84 Highlight nodes with errors in red even when workflow works fine. 2023-07-13 10:07:50 -04:00
comfyanonymous 90aa597099 Add back roundRect to fix issue on firefox ESR. 2023-07-12 02:07:48 -04:00
comfyanonymous 2b2a1474f7 Move to litegraph. 2023-07-11 03:12:00 -04:00
comfyanonymous cef30cc6b6 Merge branch 'hidpi-canvas' of https://github.com/EHfive/ComfyUI 2023-07-11 03:04:10 -04:00
comfyanonymous 880c9b928b Update litegraph to latest. 2023-07-11 03:00:52 -04:00
Huang-Huang Bao 05e6eac7b3
Scale graph canvas based on DPI factor
Similar to fixes in litegraph.js editor demo:
3ef215cf11/editor/js/code.js (L19-L28)

Also workarounds to address viewpoint problem of lightgrapgh.js in DPI scaling scenario.

Fixes #161
2023-07-11 14:47:58 +08:00
Alex "mcmonkey" Goodwin 5797ff89b0 use relative paths for all web connections
This enables local reverse-proxies to host ComfyUI on a path, eg "http://example.com/ComfyUI/" in such a way that at least everything I tested works. Without this patch, proxying ComfyUI in this way will yield errors.
2023-07-10 02:09:03 -07:00