Commit Graph

4953 Commits

Author SHA1 Message Date
xmarre 6158cd5820 Prevent redundant signature rewalk 2026-03-16 13:31:02 +01:00
xmarre bff714dda0 Fix non-link input cache signature 2026-03-16 10:13:04 +01:00
xmarre fce22da313 Prevent signature traversal of raw 2026-03-16 09:29:00 +01:00
xmarre 9f9d37bd9a
Merge branch 'master' into master 2026-03-16 09:07:29 +01:00
Christian Byrne 593be209a4
feat: add essentials_category to nodes and blueprints for Essentials tab (#12573)
* feat: add essentials_category to nodes and blueprints for Essentials tab

Add ESSENTIALS_CATEGORY or essentials_category to 12 node classes and all
36 blueprint JSONs. Update SubgraphEntry TypedDict and subgraph_manager to
extract and pass through the field.

Fixes COM-15221

Amp-Thread-ID: https://ampcode.com/threads/T-019c83de-f7ab-7779-a451-0ba5940b56a9

* fix: import NotRequired from typing_extensions for Python 3.10 compat

* refactor: keep only node class ESSENTIALS_CATEGORY, remove blueprint/subgraph changes

Frontend will own blueprint categorization separately.

* fix: remove essentials_category from CreateVideo (not in spec)

---------

Co-authored-by: guill <jacob.e.segal@gmail.com>
2026-03-15 16:18:04 -07:00
lostdisc 3814bf4454
Enable Pytorch Attention for gfx1150 (#12973) 2026-03-15 12:45:30 -07:00
comfyanonymous d062becb33
Make EmptyLatentImage follow intermediate dtype. (#12974) 2026-03-15 15:37:27 -04:00
rattus e84a200a3c
ops: opt out of deferred weight init if subclassed (#12967)
If a subclass BYO _load_from_state_dict and doesnt call the super() the
needed default init of these weights is missed and can lead to problems
for uninitialized weights.
2026-03-15 11:49:49 -07:00
Dr.Lt.Data 192cb8eeb9
bump manager version to 4.1b5 (#12957) 2026-03-15 11:48:56 -07:00
xmarre 088778c35d Stop canonicalizing is_changed 2026-03-15 17:06:20 +01:00
xmarre 4c5f82971e Restrict is_changed canonicalization 2026-03-15 16:44:25 +01:00
xmarre f1d91a4c8c Prevent canonicalizing is_changed 2026-03-15 16:14:23 +01:00
xmarre dbed5a1b52 Replace sanitize and hash passes 2026-03-15 07:39:10 +01:00
xmarre 24fdbb9aca Replace sanitize hash two pass 2026-03-15 07:30:18 +01:00
xmarre a6624a9afd Unify signature sanitize and hash 2026-03-15 07:09:24 +01:00
xmarre 0b512198e8 Adopt single-pass signature hashing 2026-03-15 05:41:39 +01:00
xmarre 9feb26928c Change signature cache to bail early 2026-03-15 04:31:32 +01:00
xmarre fadd79ad48 Fix nondeterministic set signing 2026-03-15 03:29:59 +01:00
xmarre 77bc7bdd6b Merge branch 'master' of https://github.com/xmarre/ComfyUI 2026-03-15 02:56:09 +01:00
xmarre 117afbc1d7 Add docstrings and harden signature 2026-03-15 02:55:39 +01:00
xmarre 064eec2278
Merge branch 'master' into master 2026-03-15 02:32:56 +01:00
xmarre aceaa5e579 fail closed on ambiguous container ordering in cache signatures 2026-03-15 02:32:25 +01:00
Jukka Seppänen 0904cc3fe5
LTXV: Accumulate VAE decode results on intermediate_device (#12955) 2026-03-14 18:09:09 -07:00
xmarre 763089f681
Merge branch 'master' into master 2026-03-15 01:48:10 +01:00
comfyanonymous 4941cd046e
Update comfyui-frontend-package to version 1.41.20 (#12954) 2026-03-14 19:53:31 -04:00
xmarre 1693dabc8f
Merge branch 'master' into master 2026-03-15 00:28:34 +01:00
comfyanonymous c711b8f437
Add --fp16-intermediates to use fp16 for intermediate values between nodes (#12953)
This is an experimental WIP option that might not work in your workflow but
should lower memory usage if it does.

Currently only the VAE and the load image node will output in fp16 when
this option is turned on.
2026-03-14 19:18:19 -04:00
xmarre 08063d2638
Merge branch 'Comfy-Org:master' into master 2026-03-14 23:38:46 +01:00
Jukka Seppänen 1c5db7397d
feat: Support mxfp8 (#12907) 2026-03-14 18:36:29 -04:00
Christian Byrne e0982a7174
fix: use no-store cache headers to prevent stale frontend chunks (#12911)
After a frontend update (e.g. nightly build), browsers could load
outdated cached index.html and JS/CSS chunks, causing dynamically
imported modules to fail with MIME type errors and vite:preloadError.

Hard refresh (Ctrl+Shift+R) was insufficient to fix the issue because
Cache-Control: no-cache still allows the browser to cache and
revalidate via ETags. aiohttp's FileResponse auto-generates ETags
based on file mtime+size, which may not change after pip reinstall,
so the browser gets 304 Not Modified and serves stale content.

Clearing ALL site data in DevTools did fix it, confirming the HTTP
cache was the root cause.

The fix changes:
- index.html: no-cache -> no-store, must-revalidate
- JS/CSS/JSON entry points: no-cache -> no-store

no-store instructs browsers to never cache these responses, ensuring
every page load fetches the current index.html with correct chunk
references. This is a small tradeoff (~5KB re-download per page load)
for guaranteed correctness after updates.
2026-03-14 18:25:09 -04:00
xmarre e069617e54
Merge branch 'Comfy-Org:master' into master 2026-03-14 21:27:17 +01:00
rattus 4c4be1bba5
comfy-aimdo 0.2.12 (#12941)
comfy-aimdo 0.2.12 fixes support for non-ASCII filepaths in the new
mmap helper.
2026-03-14 07:53:00 -07:00
xmarre 2bea0ee5d7 Simplify Unhashable sentinel implementation 2026-03-14 12:42:04 +01:00
xmarre 17863f603a Add comprehensive docstrings for cache key helpers 2026-03-14 12:26:27 +01:00
xmarre 31ba844624 Add cycle detection to signature input sanitization 2026-03-14 12:04:31 +01:00
xmarre 1451001f64 Add docstrings for cache signature hardening helpers 2026-03-14 10:57:45 +01:00
xmarre 1af99b2e81 Update caching hash recursion 2026-03-14 10:31:07 +01:00
xmarre 3568b82b76 Revert "Add missing docstrings"
This reverts commit 4b431ffc27.
2026-03-14 10:11:35 +01:00
xmarre 6728d4d439 Revert "Harden to_hashable against cycles"
This reverts commit 880b51ac4f.
2026-03-14 10:11:04 +01:00
xmarre 4b431ffc27 Add missing docstrings 2026-03-14 09:57:22 +01:00
xmarre 880b51ac4f Harden to_hashable against cycles 2026-03-14 09:46:27 +01:00
xmarre 4d9516b909 Fix caching sanitization logic 2026-03-14 07:06:39 +01:00
xmarre 39086890e2 Fix sanitize_signature_input 2026-03-14 06:56:49 +01:00
xmarre 2adde5a0e1 Keep container types in sanitizer 2026-03-14 06:36:06 +01:00
xmarre 0c1bfad0df
Merge branch 'Comfy-Org:master' into master 2026-03-14 06:13:25 +01:00
comfyanonymous 16cd8d8a8f
Update README. (#12931) 2026-03-13 22:33:28 -04:00
rattus 7810f49702
comfy aimdo 0.2.11 + Improved RAM Pressure release strategies - Windows speedups (#12925)
* Implement seek and read for pins

Source pins from an mmap is pad because its its a CPU->CPU copy that
attempts to fully buffer the same data twice. Instead, use seek and
read which avoids the mmap buffering while usually being a faster
read in the first place (avoiding mmap faulting etc).

* pinned_memory: Use Aimdo pinner

The aimdo pinner bypasses pytorches CPU allocator which can leak
windows commit charge.

* ops: bypass init() of weight for embedding layer

This similarly consumes large commit charge especially for TEs. It can
cause a permanement leaked commit charge which can destabilize on
systems close to the commit ceiling and generally confuses the RAM
stats.

* model_patcher: implement pinned memory counter

Implement a pinned memory counter for better accounting of what volume
of memory pins have.

* implement touch accounting

Implement accounting of touching mmapped tensors.

* mm+mp: add residency mmap getter

* utils: use the aimdo mmap to load sft files

* model_management: Implement tigher RAM pressure semantics

Implement a pressure release on entire MMAPs as windows does perform
faster when mmaps are unloaded and model loads free ramp into fully
unallocated RAM.

Make the concept of freeing for pins a completely separate concept.
Now that pins are loadable directly from original file and don' touch
the mmap, tighten the freeing budget to just the current loaded model
- what you have left over. This still over-frees pins, but its a lot
better than before.

So after the pins are freed with that algorithm, bounce entire MMAPs
to free RAM based on what the model needs, deducting off any known
resident-in-mmap tensors to the free quota to keep it as tight as
possible.

* comfy-aimdo 0.2.11

Comfy aimdo 0.2.11

* mm: Implement file_slice path for QT

* ruff

* ops: put meta-tensors in place to allow custom nodes to check geo
2026-03-13 22:18:08 -04:00
xmarre 7d76a4447e Sanitize execution cache inputs 2026-03-14 02:36:40 +01:00
Dr.Lt.Data e1f10ca093
bump manager version to 4.1b4 (#12930) 2026-03-13 20:14:27 -04:00
Comfy Org PR Bot 6cd35a0c5f
Bump comfyui-frontend-package to 1.41.19 (#12923) 2026-03-13 14:31:25 -04:00