Commit Graph

239 Commits

Author SHA1 Message Date
doctorpangloss
fa05417ebd fix tests 2025-12-17 10:10:14 -08:00
doctorpangloss
b183b27a87 Merge branch 'master' of github.com:comfyanonymous/ComfyUI 2025-12-17 09:56:14 -08:00
Dr.Lt.Data
dbd330454a
feat(preview): add per-queue live preview method override (#11261)
- Add set_preview_method() to override live preview method per queue item
- Read extra_data.preview_method from /prompt request
- Support values: taesd, latent2rgb, none, auto, default
- "default" or unset uses server's CLI --preview-method setting
- Add 44 tests (37 unit + 7 E2E)
2025-12-15 15:57:39 -08:00
doctorpangloss
b309e0424e Fix transformers 5 compatibility 2025-12-12 12:11:25 -08:00
doctorpangloss
b81a5b15ae improve tests 2025-12-11 17:03:39 -08:00
doctorpangloss
e7d0cc457d fix tests, replace broken llava and fix transformers videos issue 2025-12-11 14:23:05 -08:00
doctorpangloss
e9d5210fcc improve tests 2025-12-09 19:52:15 -08:00
doctorpangloss
7338873262 full test suite wip 2025-12-09 16:29:05 -08:00
doctorpangloss
9c892a9b34 pass unit tests 2025-12-09 16:13:43 -08:00
doctorpangloss
79cf2c2867 move and tweak tests 2025-12-09 13:29:41 -08:00
doctorpangloss
a164a07073 move test files 2025-12-09 13:26:42 -08:00
doctorpangloss
7fb748fcef wip merge 2025-12-09 13:22:27 -08:00
doctorpangloss
a00c902067 Merge branch 'master' of github.com:comfyanonymous/ComfyUI into merge/0.3.76-snapshot 2025-12-09 08:58:52 -08:00
doctorpangloss
8e282aea6d improve images and videos support 2025-12-03 15:28:56 -08:00
doctorpangloss
4349fac71a fix torch compile for language models 2025-12-03 14:40:52 -08:00
guill
f66183a541
[fix] Fixes non-async public API access (#10857)
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
Python Linting / Run Pylint (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Waiting to run
Execution Tests / test (macos-latest) (push) Waiting to run
Execution Tests / test (ubuntu-latest) (push) Waiting to run
Execution Tests / test (windows-latest) (push) Waiting to run
Test server launches without errors / test (push) Waiting to run
Unit Tests / test (macos-latest) (push) Waiting to run
Unit Tests / test (ubuntu-latest) (push) Waiting to run
Unit Tests / test (windows-2022) (push) Waiting to run
It looks like the synchronous version of the public API broke due to an
addition of `from __future__ import annotations`. This change updates
the async-to-sync adapter to work with both types of type annotations.
2025-11-23 22:56:20 -08:00
doctorpangloss
bfb1f2fe99 Improve integration test against our actual infra 2025-11-18 15:31:32 -08:00
doctorpangloss
8108315b93 Fix distributed tracing 2025-11-18 11:04:09 -08:00
doctorpangloss
37048fc1a2 fix issues with zooming in editor, simplify, improve list inputs and outputs 2025-11-10 11:23:34 -08:00
Benjamin Berman
0d9232f02c wip python eval nodes 2025-11-10 09:47:27 -08:00
doctorpangloss
8700c4fadf wip eval nodes, test tracing with full integration test, fix dockerfile barfing on flash_attn 2.8.3 2025-11-07 16:50:55 -08:00
doctorpangloss
69d8f1b120 Tracing tests 2025-11-07 14:27:31 -08:00
doctorpangloss
2f520a4cb4 Workflow templates constraint 2025-11-07 14:27:25 -08:00
doctorpangloss
243f34f282 Improve OpenAPI contract in distributed context, propagating validation and execution errors correctly. 2025-11-06 12:54:35 -08:00
Benjamin Berman
be255c2691 wip align openapi and api methods for error handling 2025-11-06 11:11:46 -08:00
doctorpangloss
7f7bcd5d8f Fix tests (no rerelease necessary) 2025-11-04 18:33:31 -08:00
doctorpangloss
98ae55b059 Improvements to compatibility with custom nodes, distributed
backends and other changes

 - remove uv.lock since it will not be used in most cases for installation
 - add cli args to prevent some custom nodes from installing packages at runtime
 - temp directories can now be shared between workers without being deleted
 - propcache yanked is now in the dependencies
 - fix configuration arguments loading in some tests
2025-11-04 17:40:19 -08:00
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
rattus
4739d7717f
execution: fold in dependency aware caching / Fix --cache-none with loops/lazy etc (Resubmit) (#10440)
* 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-22 15:49:05 -04: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