Commit Graph

536 Commits

Author SHA1 Message Date
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
comfyanonymous
af15add967 Fix annoyance with textbox unselecting in chromium. 2023-07-09 15:41:19 -04:00
Dr.Lt.Data
d43cff2105 bugfix: image widget's was mis-aligned when node has multiline widget 2023-07-08 01:42:33 +09:00
comfyanonymous
9b93b920be Add CheckpointSave node to save checkpoints.
The created checkpoints contain workflow metadata that can be loaded by
dragging them on top of the UI or loading them with the "Load" button.

Checkpoints will be saved in fp16 or fp32 depending on the format ComfyUI
is using for inference on your hardware. To force fp32 use: --force-fp32

Anything that patches the model weights like merging or loras will be
saved.

The output directory is currently set to: output/checkpoints but that might
change in the future.
2023-06-26 12:22:27 -04:00
Dr.Lt.Data
c9f5d5b2e1
optimize: support preview mode for mask editor. (#755)
* support preview mode for mask editor.
* use original file reference instead of loaded frontend blob

bugfix:
* prevent file open dialog when save to load image

* bugfix: cannot clear previous mask painted image's alpha

* bugfix

* bugfix

---------

Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2023-06-24 03:45:41 -04:00
comfyanonymous
852cf4db99 Merge branch 'widget-input-overlapping' of https://github.com/ssitu/ComfyUI 2023-06-21 02:45:59 -04:00
ssit
6f54b01954 Fix reroute node connecting different types 2023-06-20 15:25:56 -04:00
ssit
8c3d24434a Fix overlapping when converting widgets to inputs 2023-06-20 12:03:46 -04:00
reaper47
96e8307bd3 Clean keybinds extension 2023-06-19 21:32:21 +02:00
reaper47
3fbd0abc5f Add missed .comfy-table in CSS 2023-06-15 18:39:18 +02:00
reaper47
34ddbfdc8a Beautify settings dialog 2023-06-15 18:36:52 +02:00
comfyanonymous
84f13f828a Merge branch 'issue-752' of https://github.com/reaper47/ComfyUI 2023-06-14 00:17:25 -04:00
reaper47
aba886e9da Issue 741: Darken white background 2023-06-13 08:27:26 +02:00
ssit
0c874e604c Fix unhandled message "execution_cached" 2023-06-12 17:16:03 -04:00
reaper47
3402ec0c0d Issue 752: Fix background 2023-06-12 15:58:05 +02:00
comfyanonymous
b18946c53b Merge branch 'next-task' of https://github.com/reaper47/ComfyUI 2023-06-10 03:23:25 -04:00
reaper47
bfebe2d6c3 Improve ContextMenuFilter extension 2023-06-09 13:29:15 +02:00
comfyanonymous
4b0b516544 Add code to handle primitive nodes connected to reroute nodes.
Revert last commit because I noticed it broke a few things.
2023-06-09 02:49:13 -04:00
Dr.Lt.Data
8e14c46a38
allows connect primitive node to reroute if primitive node has type (#751)
Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2023-06-09 02:21:30 -04:00
space-nuko
eed4f62cc5 Add comment support to dynamic prompts nodes 2023-06-08 12:08:00 -05:00
Dr.Lt.Data
28677342c1 robust paste for image 2023-06-08 00:06:56 +09:00
Dr.Lt.Data
70e02b443f robust patch on pasteFromClipspace 2023-06-07 22:56:08 +09:00
Dr.Lt.Data
422163c2ba bugfix: Fixing the calculation issue when an image widget is added to the size calculation of the text widget. 2023-06-06 22:29:19 +09:00
space-nuko
48f7ec750c Make previews into cli option 2023-06-05 13:19:02 -05:00
space-nuko
1c40296d74 Fix 2023-06-05 09:20:20 -05:00
space-nuko
b4f434ee66 Preview sampled images with TAESD 2023-06-05 09:20:17 -05:00
comfyanonymous
2ec980bb9f Limit preview to webp and RGB jpeg. 2023-06-05 01:50:14 -04:00
Dr.Lt.Data
9f3a19b728
improve: lightweight preview to reduce network traffic (#733)
* To reduce bandwidth traffic in a remote environment, a lossy compression-based preview mode is provided for displaying simple visualizations in node-based widgets.

* Added 'preview=[image format]' option to the '/view' API.
* Updated node to use preview for displaying images as widgets.
* Excluded preview usage in the open image, save image, mask editor where the original data is required.

* Made preview_format parameterizable for extensibility.

* default preview format changed: jpeg -> webp

* Support advanced preview_format option.
- grayscale option for visual debugging
- quality option for aggressive reducing

L?;format;quality?

ex)
jpeg => rgb, jpeg, quality 90
L;webp;80 => grayscale, webp, quality 80
L;png => grayscale, png, quality 90
webp;50 => rgb, webp, quality 50

* move comment

* * add settings for preview_format
* default value is ''(= don't reencode)

---------

Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2023-06-05 01:49:43 -04:00
Dr.Lt.Data
126b4050dc
Crash fix for intermittent crashes that occur when opening MaskEditor. (#732) 2023-06-03 12:25:49 -04:00
comfyanonymous
0764bb5218 Move node properties panel from double click to menu option. 2023-06-03 11:47:20 -04:00