Commit Graph
369 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 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 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 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 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 026ba97c5b Fix model download directory alias resolution 2026-08-11 14:58:13 +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
Dariusz L c398ccb6f8 refactor: unify SHA-256 candidate extraction 2026-08-08 22:24:25 +02:00
Dariusz L 8724bb5d5b refactor: unify loaded model grouping 2026-08-08 22:23:04 +02:00
Dariusz L 9795410748 refactor: reuse JSON client for workflow hash refresh 2026-08-08 21:24:17 +02:00
Dariusz L a9d43f0358 refactor: unify project version fetching 2026-08-08 21:20:01 +02:00
Dariusz L 669bf02c76 refactor: centralize request SHA256 extraction 2026-08-08 19:07:47 +02:00
Dariusz L 4f7d59666a refactor: share workflow cache helpers 2026-08-08 19:05:14 +02:00
Dariusz L cfeb333546 refactor: centralize model cache invalidation 2026-08-08 19:03:16 +02:00
Dariusz L 5fa1e76902 refactor: unify workflow progress polling 2026-08-07 17:28:12 +02:00
Dariusz L adc409404a refactor: unify optional JSON object payload parsing 2026-08-07 17:24:53 +02:00
Dariusz L 4727669f5a Unify archive search result rows 2026-08-07 16:08:07 +02:00
Dariusz L 9aad01fb63 Unify metadata SHA256 selection 2026-08-07 16:02:30 +02:00
Dariusz L 5bfa698282 Unify path identity fallbacks 2026-08-07 15:58:28 +02:00
Dariusz L 8b1559e31c refactor shared download DOM key 2026-08-07 04:16:04 +02:00
Dariusz L 689d98aead refactor shared CivArchive size aliases 2026-08-07 04:14:46 +02:00
Dariusz L 8a8e2bc3a1 refactor shared source URL detection 2026-08-07 04:12:57 +02:00
Dariusz L c168157727 refactor shared sidecar file identity 2026-08-07 04:08:49 +02:00
Dariusz L 6c97742244 refactor: share metadata count aggregation 2026-08-07 03:41:31 +02:00