Commit Graph

345 Commits

Author SHA1 Message Date
pythongosssss 18511dd581
Manage group nodes (#2455)
* wip group manage

* prototyping ui

* tweaks

* wip

* wip

* more wip

* fixes
add deletion

* Fix tests

* fixes

* Remove test code

* typo

* fix crash when link is invalid
2024-01-13 15:43:20 -05:00
pythongosssss 8e916735c0 export function 2024-01-13 18:57:59 +00:00
pythongosssss 32034217ae add setting to change control after generate to run before 2024-01-13 18:57:47 +00:00
pythongosssss 235727fed7
Store user settings/data on the server and multi user support (#2160)
* wip per user data

* Rename, hide menu

* better error
rework default user

* store pretty

* Add userdata endpoints
Change nodetemplates to userdata

* add multi user message

* make normal arg

* Fix tests

* Ignore user dir

* user tests

* Changed to default to browser storage and add server-storage arg

* fix crash on empty templates

* fix settings added before load

* ignore parse errors
2024-01-08 17:06:44 -05:00
comfyanonymous 36e15f2507 Reregister nodes when pressing refresh button. 2023-12-31 05:05:14 -05:00
comfyanonymous e478b1794e Only add _meta title to api prompt when dev mode is enabled in UI. 2023-12-27 01:07:02 -05:00
AYF f15dce71fd
Add title to the API workflow json. (#2380)
* Add `title` to the API workflow json.

* API: Move `title` to `_meta` dictionary, imply unused.
2023-12-27 00:55:11 -05:00
shiimizu 392878a262 Fix hiding dom widgets. 2023-12-25 19:17:40 -08:00
pythongosssss e65110fd93 Fix dom widgets not being hidden 2023-12-19 20:22:01 +00:00
pythongosssss 390078904c
Group node fixes (#2259)
* Prevent cleaning graph state on undo/redo

* Remove pause rendering due to LG bug

* Fix crash on disconnected internal reroutes

* Fix widget inputs being incorrect order and value

* Fix initial primitive values on connect

* basic support for basic rerouted converted inputs

* Populate primitive to reroute input

* dont crash on bad primitive links

* Fix convert to group changing control value

* reduce restrictions

* fix random crash in tests
2023-12-13 00:56:39 -05:00
pythongosssss ab93abd4b2
Prevent cleaning graph state on undo/redo (#2255)
* Prevent cleaning graph state on undo/redo

* Remove pause rendering due to LG bug
2023-12-11 12:33:35 -05:00
pythongosssss 8de6f94f5c Allow widget placeholder replacement on primitives 2023-12-05 21:02:10 +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
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
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
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
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
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 8d50f0890d Merge branch 'templates-export-import' of https://github.com/jn-jairo/ComfyUI 2023-10-21 01:29:24 -04: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 6dbb18df92 Export and import templates 2023-10-17 17:53:57 -03:00
comfyanonymous a0ce8a443e Merge branch 'shortcut-collapse' of https://github.com/jn-jairo/ComfyUI 2023-10-14 14:28:17 -04: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
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 d761eaa486 if the output type is an array, use combo 2023-10-06 17:47:46 +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 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
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 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
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
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
ncpt 81ccacaa7c
Make the extensions loads in parallel instead of waiting one by one 2023-08-19 17:36:13 +07: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 5ac96897e9 Images can now be uploaded by dragging from another window in chromium. 2023-08-09 11:31:27 -04:00
comfyanonymous 0cb14a33f6 Fix issue with logging missing nodes. 2023-08-05 21:54:58 -04: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
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