Commit Graph

211 Commits

Author SHA1 Message Date
doctorpangloss
97f911280e Improve lazy graph evaluation, add logic operators 2025-10-31 14:27:27 -07:00
Benjamin Berman
82bffb7855 Better integration with logic nodes from EasyUse
- ImageRequestParameter now returns None or a provided default when the value of its path / URL is empty, instead of erroring
 - Custom nodes which touch nodes.NODE_CLASS_MAPPINGS will once again see all the nodes available during execution, instead of only the base nodes
2025-10-29 15:36:35 -07:00
Benjamin Berman
2d2d625ed0 Fix unit tests (no code changes, no re-release) 2025-10-29 05:26:10 -07:00
doctorpangloss
df786c59ce Fix unit tests 2025-10-24 10:51:18 -07:00
doctorpangloss
058e5dc634 Fixes to tests and configuration, making library use more durable 2025-10-23 19:46:40 -07:00
doctorpangloss
67f9d3e693 Improved custom nodes compatibility
- Fixed and verifies compatibility with the following nodes:
   ComfyUI-Manager==3.0.1
   ComfyUI_LayerStyle==1.0.90
   ComfyUI-Easy-Use==1.3.4 (required fix)
   ComfyUI-KJNodes==1.1.7 (required mitigation)
   ComfyUI_Custom_Nodes_AlekPet==1.0.88
   LanPaint==1.4.1
   Comfyui-Simple-Json-Node==1.1.0
 - Add support to referencing files in packages.
2025-10-23 16:28:10 -07:00
doctorpangloss
d707efe53c Add default font, add package fs, prepare to add more sherlocked nodes 2025-10-23 12:50:34 -07:00
doctorpangloss
72bb572181 Cache requests in nodes 2025-10-23 11:52:36 -07:00
doctorpangloss
95d8ca6c53 Test and fix cli args issues 2025-10-22 15:03:01 -07:00
doctorpangloss
5186d19441 Merge branch 'master' of github.com:comfyanonymous/ComfyUI into fix-merge 2025-10-21 10:56:30 -07:00
doctorpangloss
358cb834d6 fix tests, make fixture of core workflow test function to reclaim RAM better 2025-10-21 10:53:49 -07:00
doctorpangloss
be56a14e65 Merge commit 'a4787ac83bf6c83eeb459ed80fc9b36f63d2a3a7' of github.com:comfyanonymous/ComfyUI into fix-merge 2025-10-21 10:53:43 -07:00
comfyanonymous
b7992f871a
Revert "execution: fold in dependency aware caching / Fix --cache-none with l…" (#10422)
This reverts commit b1467da480.
2025-10-20 19:03:06 -04:00
rattus128
b1467da480
execution: fold in dependency aware caching / Fix --cache-none with loops/lazy etc (#10368)
* execution: fold in dependency aware caching

This makes --cache-none compatiable with lazy and expanded
subgraphs.

Currently the --cache-none option is powered by the
DependencyAwareCache. The cache attempts to maintain a parallel
copy of the execution list data structure, however it is only
setup once at the start of execution and does not get meaninigful
updates to the execution list.

This causes multiple problems when --cache-none is used with lazy
and expanded subgraphs as the DAC does not accurately update its
copy of the execution data structure.

DAC has an attempt to handle subgraphs ensure_subcache however
this does not accurately connect to nodes outside the subgraph.
The current semantics of DAC are to free a node ASAP after the
dependent nodes are executed.

This means that if a subgraph refs such a node it will be requed
and re-executed by the execution_list but DAC wont see it in
its to-free lists anymore and leak memory.

Rather than try and cover all the cases where the execution list
changes from inside the cache, move the while problem to the
executor which maintains an always up-to-date copy of the wanted
data-structure.

The executor now has a fast-moving run-local cache of its own.
Each _to node has its own mini cache, and the cache is unconditionally
primed at the time of add_strong_link.

add_strong_link is called for all of static workflows, lazy links
and expanded subgraphs so its the singular source of truth for
output dependendencies.

In the case of a cache-hit, the executor cache will hold the non-none
value (it will respect updates if they happen somehow as well).

In the case of a cache-miss, the executor caches a None and will
wait for a notification to update the value when the node completes.

When a node completes execution, it simply releases its mini-cache
and in turn its strong refs on its direct anscestor outputs, allowing
for ASAP freeing (same as the DependencyAwareCache but a little more
automatic).

This now allows for re-implementation of --cache-none with no cache
at all. The dependency aware cache was also observing the dependency
sematics for the objects and UI cache which is not accurate (this
entire logic was always outputs specific).

This also prepares for more complex caching strategies (such as RAM
pressure based caching), where a cache can implement any freeing
strategy completely independently of the DepedancyAwareness
requirement.

* main: re-implement --cache-none as no cache at all

The execution list now tracks the dependency aware caching more
correctly that the DependancyAwareCache.

Change it to a cache that does nothing.

* test_execution: add --cache-none to the test suite

--cache-none is now expected to work universally. Run it through the
full unit test suite. Propagate the server parameterization for whether
or not the server is capabale of caching, so that the minority of tests
that specifically check for cache hits can if else. Hard assert NOT
caching in the else to give some coverage of --cache-none expected
behaviour to not acutally cache.
2025-10-17 13:55:15 -07:00
doctorpangloss
1c2e6867fb Fix tests 2025-10-06 15:40:04 -07:00
doctorpangloss
f694828f49 Fix tests 2025-10-06 15:38:59 -07:00
doctorpangloss
32af09cebf Fix test 2025-10-06 15:35:46 -07:00
Benjamin Berman
e62df3a881 Fix issue finding approx vae taesdxl when used in a workflow 2025-09-26 12:29:00 -07:00
doctorpangloss
ac0694a7bd Fix #46 enable node blacklisting using --blacklist-custom-nodes ComfyUI-Manager / config.blacklist_custom_nodes = ["ComfyUI-Manager"] 2025-09-23 13:50:05 -07:00
doctorpangloss
f6d3962c77 Fix tests
Merge branch 'master' of github.com:comfyanonymous/ComfyUI
2025-09-23 12:42:12 -07:00
doctorpangloss
6a48fc1c40 Pass all tests. Add Qwen-Edit and other Qwen checkpoints for testing 2025-09-23 12:15:41 -07:00
doctorpangloss
6af812f9a8 Fix custom model paths config paths, tweak tests 2025-09-23 11:01:48 -07:00
doctorpangloss
4a3feee1a2 Tweaks 2025-09-23 10:28:36 -07:00
doctorpangloss
fd6e5c2c8d move test_cache_control 2025-09-22 14:31:21 -07:00
doctorpangloss
a9a0f96408 Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2025-09-22 14:29:50 -07:00
Christian Byrne
e3206351b0
add offset param (#9977) 2025-09-22 17:12:32 -04:00
doctorpangloss
c48163e78c Fix misalignment between EXIF tags and whatever pillow was actually doing 2025-09-19 16:14:40 -07:00
doctorpangloss
bc201cea4d Improve tests, fix issues with alternate filenames, improve group offloading support for transformers models 2025-09-18 13:25:08 -07:00
doctorpangloss
79b8723f61 Various fixes
- Fix 16 bit exif saving for PNGs
 - Validate alternative filenames correctly
 - Improve speed of test workflows by setting steps to 1
2025-09-17 16:04:05 -07:00
Benjamin Berman
4839189809 16 bit EXIF is broken 2025-09-17 12:04:44 -07:00
guill
a9f1bb10a5
Fix progress update crossover between users (#9706)
* Fix showing progress from other sessions

Because `client_id` was missing from ths `progress_state` message, it
was being sent to all connected sessions. This technically meant that if
someone had a graph with the same nodes, they would see the progress
updates for others.

Also added a test to prevent reoccurance and moved the tests around to
make CI easier to hook up.

* Fix CI issues related to timing-sensitive tests
2025-09-04 19:13:28 -04:00
doctorpangloss
58622c7e91 Move validation back to where it is supposed to be relative to upstream 2025-09-04 14:05:19 -07:00
doctorpangloss
df9abc1424 Automated test passes for #30 2025-09-03 15:44:53 -07:00
doctorpangloss
75e39c2720 Automated test for #30 2025-09-03 15:40:35 -07:00
doctorpangloss
0e5348b9a9 Fixes issues with running from a vanilla ComfyUI workspace and having this package installed (fixes #30) 2025-09-03 14:57:34 -07:00
doctorpangloss
173b1ce0ae Add support for intuitive progress notifications when using comfyui as a library 2025-08-26 16:31:39 -07:00
doctorpangloss
1e938f5feb fix sdpa priorities 2025-08-26 14:33:00 -07:00
doctorpangloss
e84bf5f025 Fix downloads and tests on Linux 2025-08-22 18:29:12 -07:00
doctorpangloss
cd17b42664 Qwen Image with sage attention workarounds 2025-08-07 17:29:23 -07:00
doctorpangloss
7ba86929f7 Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2025-08-04 13:44:45 -07:00
doctorpangloss
59bc6afa7b Fixes to tests and progress bars in xet 2025-08-01 17:26:30 -07:00
doctorpangloss
87bed08124 Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2025-08-01 16:05:47 -07:00
guill
97eb256a35
Add support for partial execution in backend (#9123)
When a prompt is submitted, it can optionally include
`partial_execution_targets` as a list of ids. If it does, rather than
adding all outputs to the execution list, we add only those in the list.
2025-07-30 22:55:28 -04:00
guill
0a3d062e06
ComfyAPI Core v0.0.2 (#8962)
* ComfyAPI Core v0.0.2

* Respond to PR feedback

* Fix Python 3.9 errors

* Fix missing backward compatibility proxy

* Reorganize types a bit

The input types, input impls, and utility types are now all available in
the versioned API. See the change in `comfy_extras/nodes_video.py` for
an example of their usage.

* Remove the need for `--generate-api-stubs`

* Fix generated stubs differing by Python version

* Fix ruff formatting issues
2025-07-29 22:17:22 -04:00
doctorpangloss
03e5430121 Improvements for Wan 2.2 support
- add xet support and add the xet cache to manageable directories
 - xet is enabled by default
 - fix logging to root in various places
 - improve logging about model unloading and loading
 - TorchCompileNode now supports the VAE
 - torchaudio missing will cause less noise in the logs
 - feature flags will assume to be supporting everything in the distributed progress context
 - fixes progress notifications
2025-07-28 14:36:27 -07:00
Benjamin Berman
2fd5fc81f5 This raises ProcessExpired on Linux but not on Windows 2025-07-26 17:24:46 -07:00
doctorpangloss
6f2008287e fix error when fork isn't being used 2025-07-25 15:32:30 -07:00
doctorpangloss
a3ae6e74d2 fix tests 2025-07-25 15:01:30 -07:00
doctorpangloss
3684cff31b Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2025-07-25 12:48:05 -07:00
doctorpangloss
d4d62500ac fix tests, disable opentel metrics provider 2025-07-16 14:21:50 -07:00