Commit Graph

529 Commits

Author SHA1 Message Date
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
comfyanonymous c092ffcc18 Latest litegraph from upstream. 2023-06-03 11:46:52 -04:00
comfyanonymous 32f282c861 Search box style fix. 2023-06-03 11:19:10 -04:00
ltdrdata 8e8d6070f2 race condition patch 2023-05-31 23:26:56 +09:00
ltdrdata 1f34bf08f0 To support dynamic custom loading, separate the node registration
process based on the defs in the registerNodes function.
2023-05-31 22:01:25 +09:00
space-nuko 468c27afea Fix litegraph dialog z-index/font 2023-05-30 16:06:17 -05:00
space-nuko 04f4fba013 Fix litegraph dialog CSS 2023-05-30 16:01:49 -05:00
Lt.Dr.Data 08abd838b8 HOTFIX: Patched the conflict issue between the Combo Refresh feature and PrimitiveNodes. 2023-05-30 15:26:45 +09:00