Commit Graph
230 Commits
Author SHA1 Message Date
Claude dfc8153cb3 Media upload: show percent while sending, read the body in 1MB chunks, write off the event loop
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J6rGxH5eLym2ADye6YDgEW
2026-10-17 23:09:37 +00:00
Claude 2921ff517b Gallery: saved videos and pictures next to Temp files, with preview and confirmed delete
Settings > Saved & Temp Files now has two tabs. Saved lists what ComfyUI wrote to its output folder; Temp is the old list. Click a file to look at it, open it in a tab, or delete it after a question. Delete only removes media files inside the chosen folder.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xHQk4XeXzJpBR3HSwnoBZ
2026-10-17 21:17:31 +00:00
Claude b19f7dec2f Log a line whenever a save changes a project's length
A project length that changed on its own is hard to place; the persisted Log now says when and from what to what.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:28:56 +00:00
Claude 65a731584c LoRA training: save a copy of the LoRA every N steps as name_stepN
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:14:16 +00:00
Claude 6603f42ecb LoRA training: pause, resume and a preview LoRA at chosen steps (backend)
A run can wait at a step boundary (Pause, or every N steps for a preview): its state is saved,
the LoRA so far is written as <name>_preview.safetensors, and the card is let go. Resume carries on
from the saved state under the same run. UNTESTED on real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:08:01 +00:00
Claude 919097c732 LoRA training: our own loop for H3, and a Log that survives a crash
The H3 run trains with a loop of our own (LoRA on the attention and feed-forward projections of the
50 blocks, per-block checkpoint, uniform noise levels, musubi-tuner's approach) while ComfyUI carries
the batches. Every Log record is flushed to disk as it is said and reloaded on start; the run
writes each stage and step to it. ComfyUI's own offloading toggle is ignored by the new loop.
UNTESTED on the real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:57:06 +00:00
Claude d0d572c4ec feat: block swap option for LoRA training and a per-block memory log in the backward pass
Block swap keeps the frozen weights of the last N transformer blocks in system
memory and lets ComfyUI's weight casting fetch them one layer at a time. The idea
and the block count as the one knob follow musubi-tuner's block swap (kohya-ss,
Apache License 2.0); this is an independent implementation.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:30:50 +00:00
Claude 45b60ac874 Training captions are plain text boxes; the set has its own prefix and postfix
Tags from the tagger are added after a comma and the caption is never reworded.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:38:03 +00:00
Claude c4adc1242d Training takes the model file from the pipeline and loads it once itself
The loader node no longer runs in front of the trainer; its copy shares that one model.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:48:06 +00:00
Claude 58e56b96d8 LoRA training add-on starts on when its package is already installed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:20:38 +00:00
Claude ab100f85a4 LoRA training add-on: sets, tagger, trainer node on ComfyUI's Train LoRA, H3 support
Backend only (window follows). Switched on in Settings > Modules. H3 repairs proven on a tiny H3 on CPU, UNTESTED on real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 15:05:57 +00:00
Claude f9863700e6 Remove module ui.js support: unused by any module or the live app
Drops the registry lookup, manifest field, /modules route, ui.js loading in panels.js, MODULE_RULES lint, services.js, their tests and docs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EymCrVCefq4m9Uv6MAkzz5
2026-10-17 13:59:18 +00:00
digital-garbageandClaude Sonnet 5.5 4fd3b94424 feat: bypass toggle in Models & Pipeline -- a node is skipped for the run, keeps its values, and refuses with a reason when it cannot be passed through
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 02:19:00 +03:00
digital-garbageandClaude Sonnet 5.5 6b23db2640 feat: FunPack Timing also logs a sampler's step 1 / step 2 / later-step times
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 01:35:38 +03:00
digital-garbageandClaude Sonnet 5.5 a64365c774 fix: slow-torch switch frees cuda-* pins and retries past any conflict pip names
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 00:00:54 +03:00
digital-garbageandClaude Sonnet 5.5 165a9f5144 fix: a malformed optional-node table entry is logged once instead of swallowed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 02:27:30 +03:00
digital-garbageandClaude Sonnet 5.5 e48515d452 fix: skip wording is true when a node is rejected though its module loaded; swapping a slot drops its skip marker
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 02:16:06 +03:00
digital-garbageandClaude Sonnet 5.5 58b6184e53 fix: the skip note no longer names Prompt markup for every skipped node
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 01:56:02 +03:00
digital-garbageandClaude Sonnet 5.5 77f2552304 fix: skip notes point to Ready to generate? (Modules page cannot show a failed module); readiness no longer calls optional nodes a need
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 01:43:58 +03:00
digital-garbageandClaude Sonnet 5.5 1565ac3982 fix: skipped slots offer no Remove/Swap, stand-in load clears skipped, null pass value refused; route-level and precedence tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 01:28:22 +03:00
digital-garbageandClaude Sonnet 5.5 803ea68f21 fix: optional nodes are declared per node class by the model modules (saved pipelines and swapped nodes covered); skip chain cannot crash; skipped controls hidden in the project tab; skipped card says so (attacker round 26)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 01:02:59 +03:00
digital-garbageandClaude Sonnet 5.5 3beb13f6c5 feat: optional preset slots - a pipeline runs without Enhance, Shot camera, Prompt markup, Negative erase, Cut opening or Identity transfer when their module did not load, says so beside Generate, and hides their controls
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 00:41:38 +03:00
digital-garbageandClaude Sonnet 5.5 e0c960313d fix: readiness points a missing FunPack node at Settings > Modules; CHANGELOG states that preset nodes are required by their preset (attacker round 25)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 00:26:02 +03:00
digital-garbageandClaude Sonnet 5.5 892a49afc2 fix: the probe reason no longer asserts 'nobody recognises it' when a detector failed (attacker round 24)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 00:00:19 +03:00
digital-garbageandClaude Sonnet 5.5 ca43f43e68 fix: a model probe whose detector raised says so instead of 'nobody recognises it'; routes and shot camera failures worded truthfully (attacker round 23)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:55:24 +03:00
digital-garbageandClaude Sonnet 5.5 a577ff0af3 fix: a turned-off loaded module is not called gone; route and probe provider failures said by provider, once, truthfully; expansion note names shortcuts (attacker round 22)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:46:54 +03:00
digital-garbageandClaude Sonnet 5.5 a931d59d93 fix: a saved turn-off for a gone module is said; provider failures in routes said once and truthfully; duplicate ids logged; a failed prompt expansion is said; taste call gated (attacker round 21)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:36:40 +03:00
digital-garbageandClaude Sonnet 5.5 618b5ba1c1 fix: a failing target_rows provider is said, once; separate once-keys for the two modifier nodes; spam-guard test (attacker round 20)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:24:53 +03:00
digital-garbageandClaude Sonnet 5.5 99568ba9ae fix: a provider failing in a new way is said again; the Load Modifiers stale-module log is tested (attacker round 19)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:15:13 +03:00
digital-garbageandClaude Sonnet 5.5 ef35a35848 fix: import guard sees a group-level helper importing a module via ..; provider errors said once per provider; tests for both log lines (attacker round 18)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 23:08:47 +03:00
digital-garbageandClaude Sonnet 5.5 6e5035671a fix: provider errors say 'failed while' once; import guard covers class/for/match bodies; diffusion picker lists .gguf again so a saved pick gets the install message; stale-module wording true for broken modules (attacker round 17)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 22:58:01 +03:00
digital-garbageandClaude Sonnet 5.5 5c2588a9b2 fix: import guard sees every import form and is shown to fail; diffusion picker hides .gguf with no backend; provider errors are logged; stale module ids said at the modifiers node too (attacker round 16)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 22:36:30 +03:00
digital-garbageandClaude Sonnet 5.5 a88b814b28 fix: modules no longer import each other (shared taste helper is a plain file); UI gates match real ids and are tested; boot cannot stall; empty pipelines refused; truncated .gguf listing says so (attacker round 15)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 22:10:20 +03:00
digital-garbageandClaude Sonnet 5.5 3050a80056 feat: saved settings naming a module or setting that no longer exists are skipped with a once-per-run log line, not refused; RETIRED list removed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 21:43:24 +03:00
digital-garbageandClaude Sonnet 5.5 24372a5def fix: the prompt enhancer no longer needs the CLIP loader module to import; a test forbids module-level imports between modules
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 20:22:42 +03:00
digital-garbageandClaude Sonnet 5.5 8820c3b792 fix: settings saved while the Appearance module existed no longer stop every run with 'no module named appearance is installed'; retired module ids are ignored, typos still refused
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 17:38:36 +03:00
digital-garbageandClaude Sonnet 5.5 0f88ce744e feat: the prompt enhancer has its own encoder pick (Composer > Enhance > Encoder), so H3 can rewrite with Gemma 4; verified on a rental
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 16:27:16 +03:00
digital-garbageandClaude Sonnet 5.5 1fc5d99dcc feat: MiniMax H3 Reference to Video works text-only; with no picture a plain stand-in of the Width/Height shape feeds the size chain (found on a real GPU)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 15:03:52 +03:00
digital-garbageandClaude Sonnet 5.5 fd3224d9a4 fix: montage pieces do not feed Shortcut Ideas habits; tiny clips are not montage material; truthful Update, blend, key and erase hints
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 14:25:21 +03:00
digital-garbageandClaude Sonnet 5.5 1e26876bdb fix: Auto Montage pieces are their own reused units (Generate no longer doubles the clip they copy; deleting the original no longer scrambles them); pieces round down to the frame grid; honest title and hint
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 13:51:29 +03:00
digital-garbageandClaude Sonnet 5.5 6a37b99f2d chore: remove the unwired Engine Appearance module; add the shipped-hints test
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 13:22:15 +03:00
digital-garbage 41a75c3cd6 fix: server messages name the right Settings pages; effect, add-on, shot camera, LoRA, VAE, erase and SLA hints say what they do 2026-10-15 13:08:08 +03:00
digital-garbageandClaude Sonnet 5.5 06d86977cd fix: a LoRA loader added to Models & Pipeline is wired into the model chain, so every LoRA runs, not only the first
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 23:24:34 +03:00
digital-garbageandClaude Sonnet 5.5 1fe48d868b fix: an add-on is enabled only where it can run; an unavailable RTX engine says so and cannot start twice; tests ignore a developer's addons.json
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 23:02:38 +03:00
digital-garbageandClaude Sonnet 5.5 aef6e08e55 fix: a saved RTX choice falls back to a clear message where RTX is absent; a failed add-on install is offered again; RTX needs Turing or newer
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 22:45:41 +03:00
digital-garbageandClaude Sonnet 5.5 c83d878f3a feat: spaCy and NVIDIA RTX Super Resolution are opt-in add-ons; upscale gains an RTX engine; "resolution source" is now "aspect ratio source"
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 22:20:35 +03:00
digital-garbageandClaude Sonnet 5.5 ef8c9cfb43 feat: templates no longer carry variables; variables belong to the project alone
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 11:37:05 +03:00
digital-garbageandClaude Sonnet 5.5 d59a9ecba4 fix: a loaded project file is saved cleared; the shot camera node always gets the project id; infusion skips a word the shot already says
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 07:11:54 +03:00
digital-garbageandClaude Haiku 5.5 2a902a5b78 feat: a reference's pin takes the number it has now and stays for every scene until unticked
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-13 04:24:52 +03:00
digital-garbageandClaude Haiku 5.5 976a5bb90c feat: fixed reference slots: a reference pinned to a slot number goes into every scene at that number until unpinned
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-13 04:14:44 +03:00