Commit Graph
1026 Commits
Author SHA1 Message Date
Dariusz L 552ef683da Unify metadata workflow cache and category handling 2026-09-13 23:09:22 +02:00
Dariusz L 21245569c7 Fix transfer model actions for unselected nodes 2026-09-13 22:18:10 +02:00
Dariusz L d1812fa46f Add metadata workflow model transfer 2026-09-13 21:38:52 +02:00
Dariusz L 3a106e8d67 feat: add workflow metadata transfer preview 2026-09-13 16:10:58 +02:00
Dariusz L 18ef647c83 Extract Civitai metadata from image EXIF and improve subgraph widget resolution 2026-09-12 18:34:02 +02:00
Dariusz L 74e4b190a9 Add image metadata tab and backend workflow normalization 2026-09-12 16:50:40 +02:00
Dariusz L 50b157e72b Fix publish command invocation
Run node publishing directly through the Comfy CLI without the external environment wrapper, and update the workflow test to prevent regressions.
2026-09-12 13:58:11 +02:00
Dariusz L b5ab69ec1c Update pyproject.toml v1.2.1 2026-09-12 13:51:30 +02:00
Dariusz L d6b5b30155 Update README.md 2026-09-12 13:51:13 +02:00
Dariusz L 2d687a210e Update huggingface-author-index.json 2026-09-12 13:00:05 +02:00
Dariusz L 62c04ab3ac fix(search): exclude CLIP and VAE from LoRA workflow fallback base model detection 2026-09-10 15:02:06 +02:00
Dariusz L cf5c73c2c8 Make batch source search sequential per source and independent across sources
Refactor searchMissingBatch to schedule each source independently via a
per-source promise chain (scheduleSource) instead of processing all targets
in a single serial loop. This keeps source ordering intact while allowing
different sources to advance in parallel across models.

Also update searchOnline to accept scheduleSource and emit a pending UI
state for queued searches, split pending/running source colors in CSS, and
add tests covering independent batch source progression plus error/cancel
survival.
2026-09-10 14:49:28 +02:00
Dariusz L 9f9b3da12c Use getMissingModelDomKey for search UI element IDs
Replace inline node_id/widget_index DOM key construction with the
centralized getMissingModelDomKey helper across search panel and
missing browser methods. This keeps search results and button IDs
stable when the same model appears in multiple workflows/widgets.

Also adds a regression test verifying that search progress stays
with its model when switching between shared widgets.
2026-09-10 14:30:33 +02:00
Dariusz L 9f537eaef0 Optimize CivitAI lookups by caching model data and skipping unnecessary version requests
Reuse model metadata across _find_civitai_file_in_model calls within a single search, avoid resolve_urn when modelVersions already contains usable file lists, and add tests for request-count behavior.
2026-09-10 02:24:24 +02:00
Dariusz L 63050819fe fix: match workflow hashes by model path instead of widget position 2026-09-10 02:12:36 +02:00
Dariusz L b93f63e68a fix: keep Apply button disabled during queued resolution and re-enable on failure 2026-09-10 01:16:31 +02:00
Dariusz L e9bc6369a2 frontend: standardize options status styling with CSS classes
Add a success color token and replace scattered textContent assignments
with setElementStatusText / setStatusMode so local DB, base models,
HF index, and cache-clearing statuses consistently use is-pending,
is-valid, and is-invalid classes.
2026-09-10 01:11:38 +02:00
Dariusz L d26b0a788b Add refresh animations for busy option/search controls 2026-09-10 01:01:41 +02:00
Dariusz L 248ccea2ec Save metadata on SHA256-mismatched downloads and verify reused hash behavior 2026-09-10 00:58:35 +02:00
Dariusz L 2d1bc22909 frontend: ignore stale local-match refresh responses after workflow switch 2026-09-10 00:51:19 +02:00
Dariusz L df90db5431 data update 2026-09-10 00:48:04 +02:00
Dariusz L 27ce316c67 perf: optimize hash cache building with in-memory dir entries and thread pool 2026-09-08 18:43:51 +02:00
Dariusz L ea3b987d6a frontend: prefer workflow base model over incompatible archive metadata in auto mode 2026-08-25 04:36:37 +02:00
Dariusz L f358df46ae Treat upscale categories as Upscaler for auto base model resolution 2026-08-25 03:26:03 +02:00
Dariusz L c5371e7165 feat: prefer active workflow widgets over model metadata for base model detection 2026-08-25 03:21:42 +02:00
Dariusz L 1eb3af32be Ignore stale embedded model metadata when a node exposes an explicit model widget 2026-08-25 03:07:41 +02:00
Dariusz L cd626dedab frontend: manual subfolder suggestion respects configured folder rule
Pass preferTemplate through forceSuggestedDownloadSubfolder so manual
subfolder suggestions use the same configured folder rule as post-search
autofill. Added a focused test for the manual path.
2026-08-25 02:38:42 +02:00
Dariusz L ddde0ac3ce feat: add CivitAI title-based search fallback for filename mismatches 2026-08-25 02:35:15 +02:00
Dariusz L 7627c61450 Fix CivitAI filename matching false positives for short generic prefixes 2026-08-25 02:17:22 +02:00
Dariusz L 854ce6c62e Update huggingface-author-index.json 2026-08-25 02:06:09 +02:00
Dariusz L 9c24d92151 feat: support HuggingFace string identifiers, convrot variants, and mixed/scaled precision tokens
- Preserve HuggingFace textual model/version IDs in download metadata instead of coercing to integers
- Add convrot as a recognized model variant suffix
- Recognize numeric precision tokens with optional mixed/scaled suffixes (e.g. int8mixed, fp8scaled)
- Report partial batch search failures as informational notifications rather than errors
2026-08-25 02:05:45 +02:00
Dariusz L ddc5333bd2 refactor: unify model data contracts 2026-08-21 23:10:26 +02:00
Dariusz L 6b96e94016 Add native ComfyUI error overlay detection and auto-open integration 2026-08-13 00:48:40 +02:00
Dariusz L 65fd1ac554 frontend: restore missing-browser split width synchronously on initial paint
In missing_browser_methods.js, apply the saved split before the first paint when
the docked panel is narrower than the last layout, instead of waiting one
animation frame. Also tighten fast-width estimation by trying
getBoundingClientRect().width when clientWidth/offsetWidth are unavailable, and
measure from the observed resize host rather than the browser element itself.
2026-08-12 21:09:47 +02:00
Dariusz L 8f9ecb6187 Model Database Update 2026-08-12 20:31:49 +02:00
Dariusz L a0f370eed0 Add persistent queue downloads subtabs container 2026-08-12 20:01:34 +02:00
Dariusz L 026ba97c5b Fix model download directory alias resolution 2026-08-11 14:58:13 +02:00
Dariusz L 12887e8b83 Update pyproject.toml v1.2.0 2026-08-11 04:39:10 +02:00
Dariusz L 0899c3c2dd Update huggingface-author-index.json 2026-08-11 04:39:00 +02:00
Dariusz L bcc3015786 Update Data 2026-08-09 23:03:05 +02:00
Dariusz L c8997ee320 Update huggingface-author-index.json 2026-08-09 23:02:41 +02:00
Dariusz L 907876905c Add custom resize handle to model info dialog 2026-08-09 22:58:21 +02:00
Dariusz L 93056b3447 Add multi-directional resize handles to model resolver modal 2026-08-09 22:15:13 +02:00
Dariusz L effe6d373b Remove scrollbar-gutter from missing detail pane 2026-08-09 22:04:45 +02:00
Dariusz L eeeb939b9a refactor shared metadata source payload 2026-08-09 00:16:50 +02:00
Dariusz L 593a85062a refactor provider status message contract 2026-08-09 00:14:20 +02:00
Dariusz L 215f4e391e refactor frontend storage access through safeStorage 2026-08-09 00:08:51 +02:00
Dariusz L 551dae9df7 refactor: centralize progress ID generation 2026-08-08 22:33:41 +02:00
Dariusz L e0d5dff0a0 refactor: reuse shared filename extraction 2026-08-08 22:31:35 +02:00
Dariusz L eb2e17f75b refactor: unify file size extraction details 2026-08-08 22:29:31 +02:00