Commit Graph

567 Commits

Author SHA1 Message Date
comfyanonymous 4bd7d55b90 Add some colors to SamplerCustom links.
If you don't like them I am open to a PR.
2024-04-11 22:43:05 -04:00
Gorka Eguileor de172f8be7
Improve A1111 metadata parsing (#3216)
* A1111 import: Set VAE name

This patch sets the VAE name for the `VAELoader` when present in the png
metadata.

* A1111 import: Skip all hashes

When importing from A1111 the parsing assumes that values of a key will
never contain a ":", which is not correct.

There are 2 cases where we can have ":" in the value:

- Inside a string. E.g.:
  Lora hashes: "xl_more_art-full_v1: fe3b4816be83, add-detail-xl: 9c783c8ce46c"

- When the value is a json dictionary. E.g.:
  Hashes: {"vae": "63aeecb90f", "embed:negativeXL_D": "fff5d51ab6"}

This patch changes how we parse the metadata to take those 2 cases into
account and also skips the following additional keys that are present in
some Forge images:

- Version
- VAE hash
- TI hashes
- Lora hashes
- Hashes

* A1111 import: Parse Hires steps

This patch parses the `Hires steps` parameter that is part of the High
Resolution Upscale configuration when it  is present, and fallbacks to
the one from the `samplerNode` (like the code currently does) if it's
not present.
2024-04-06 12:10:17 -04:00
comfyanonymous a7dd82e668 Fix copy paste issue with litegraph. 2024-04-05 14:59:05 -04:00
shiimizu 5171414143 Support additional PNG info. 2024-02-18 17:57:53 -08:00
chrisgoringe cf4910a3a4
Prevent hideWidget being called twice for same widget
Fix for #2766
2024-02-12 08:59:25 +11:00
Steven Lu 02409c30d9
Safari: Draws certain elements on CPU. In case of search popup, can cause 10 seconds+ main thread lock due to painting. (#2763)
* lets toggle this setting first.

* also makes it easier for debug. I'll be honest this is generally preferred behavior as well for me but I ain't no power user shrug.

* attempting trick to put the work for filter: brightness on GPU as a first attempt before falling back to not using filter for large lists!

* revert litegraph.core.js changes from branch

* oops
2024-02-12 03:44:53 +09:00
comfyanonymous fd73b5ee3a Merge branch 'improved-mobile-support' of https://github.com/pythongosssss/ComfyUI 2024-02-08 01:06:33 -05:00
comfyanonymous 7daad468ec Sync litegraph to repo.
https://github.com/comfyanonymous/litegraph.js/pull/6
2024-02-06 12:43:06 -05:00
pythongosssss d2e7f1b04b Support linking converted inputs from api json 2024-02-06 16:55:55 +00:00
ultimabear 5f3dbede58 Mask editor: semitransparent brush, brush color modes 2024-02-03 10:29:44 +03:00
Chaoses-Ib 951a2064a3 Fix frontend webp prompt handling 2024-02-02 13:27:03 +08:00
comfyanonymous 4c54c2ec0f Merge branch 'increment-wrap' of https://github.com/pksebben/ComfyUI 2024-02-01 17:01:21 -05:00
pksebben 53a22e1ab9 add increment-wrap as option to ValueControlWidget when isCombo, which loops back to 0 when at end of list 2024-01-31 16:14:50 -08:00
Lt.Dr.Data 6ab4205422 feat: better pen support for mask editor
- alt-drag: erase
- shift-drag(up/down): zoom in/out
2024-01-31 18:28:36 +09:00
comfyanonymous 6565c9ad4d Litegraph node search improvements.
See: https://github.com/comfyanonymous/litegraph.js/pull/5
2024-01-31 02:26:27 -05:00
comfyanonymous eeca72488b Merge branch 'group-manage-fixes' of https://github.com/pythongosssss/ComfyUI 2024-01-31 00:25:03 -05:00
pythongosssss af6165ab69 Fix scrolling with lots of nodes 2024-01-30 18:00:01 +00:00
pythongosssss 29558fb3ac Fix crash when no widgets on customized group node 2024-01-30 17:59:47 +00:00
Meowu 364ef19354
fix: inpaint on mask editor bottom area 2024-01-30 14:23:01 +08:00
pythongosssss ed2fa105ae Make auto saved workflow stored per tab 2024-01-29 18:43:59 +00:00
comfyanonymous b9911dcb2f Sync litegraph with repo.
https://github.com/comfyanonymous/litegraph.js/pull/4
2024-01-23 20:01:37 -05:00
pythongosssss 3762e676a9
Support refresh on group node combos (#2625)
* Support refresh on group node combos

* fix check
2024-01-23 14:15:52 -05:00
pythongosssss 8a92ac2120 Ability to hide menu
Responsive setting screen
Touch events for zooming/context menu
2024-01-22 18:56:43 +00:00
Kristjan Pärt 45bf88d8ef
Fix queue on change to respect auto queue checkbox (#2608)
* Fix render on change not respecting auto queue checkbox

Fix issue where autoQueueEnabled checkbox is ignored for changes if autoQueueMode is left on `change`

* Make check more specific
2024-01-21 21:34:39 -05:00
pythongosssss ee2c5fa72d
Fix renaming upload widget (#2554)
* Fix renaming upload widget

* Allow custom name
2024-01-16 08:58:54 -05:00
comfyanonymous 818d0c01b2 Merge branch 'fix-logging-setting' of https://github.com/pythongosssss/ComfyUI 2024-01-16 08:29:38 -05:00
pythongosssss 93bbe3f4c0
Auto queue on change (#2542)
* Add toggle to enable auto queue when graph is changed

* type fix

* better

* better alignment

* Change undoredo to not ignore inputs when autoqueue in change mode
2024-01-16 08:27:40 -05:00
pythongosssss 23687da9a9 Fix logging not checking onChange 2024-01-15 17:45:48 +00:00
pythongosssss 270daa02a8
Adds copy image option if browser feature available (#2544)
* Adds copy image option if browser feature available

* refactor
2024-01-14 14:53:52 -05:00
comfyanonymous 432ba1c179 Merge branch 'control_before_generate' of https://github.com/pythongosssss/ComfyUI 2024-01-13 16:06:43 -05:00
comfyanonymous b5ece6354d Merge branch 'undoredo-fix-modifiers' of https://github.com/pythongosssss/ComfyUI 2024-01-13 16:03:44 -05:00
pythongosssss 9bddc9d94b Fix crash on group render 2024-01-13 21:02:51 +00:00
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 df49a727ff Fix modifiers triggering key down checks 2024-01-13 17:00:30 +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
comfyanonymous d35267e85a Litegraph updates.
Update from upstream repo.

Auto select value in prompt.

Increase maximum number of nodes to 10k.
2023-12-21 13:21:25 -05:00
pythongosssss e65110fd93 Fix dom widgets not being hidden 2023-12-19 20:22:01 +00:00
pythongosssss 6453dc1ca2 Fix name counter preventing more than 3 of the same node
Fix linked widget offset when populating values
2023-12-16 14:16:12 +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
Dr.Lt.Data 69033081c5 mask editor bugfix
- Addressing the issue where an unnecessary hidden panel disrupts the drawing.
2023-12-11 00:24:28 +09:00
pythongosssss 9aaf368a41 Fix internal reroutes connected to other groups 2023-12-09 13:04:35 +00:00
comfyanonymous e134547341 Merge branch 'reroute-converted-inputs' of https://github.com/pythongosssss/ComfyUI
# Conflicts:
#	web/extensions/core/widgetInputs.js
2023-12-06 03:01:35 -05:00
Dr.Lt.Data 8112a0d9fc
improve: Mask Editor (#2171)
* renewal mask editor

* fix: ignoring keydown when 2nd open
2023-12-06 01:56:03 -05:00
pythongosssss 8de6f94f5c Allow widget placeholder replacement on primitives 2023-12-05 21:02:10 +00:00
pythongosssss 44265e0810 Allow connecting primitivenode to reroutes 2023-12-05 20:27:13 +00:00
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