Commit Graph
515 Commits
Author SHA1 Message Date
Dariusz L a5b54bb7de Update pyproject.toml v1.0.4 2026-07-14 11:17:17 +02:00
Dariusz L cb1042b00d Add tests directory and remove tests/ from .gitignore 2026-07-14 11:15:51 +02:00
Dariusz L 280ca2e6de Improve HuggingFace Xet downloads with native progress snapshots, transfer metrics, cancellation, and finalizing UI state 2026-07-14 11:02:57 +02:00
Dariusz L 1f0edaaa7e Harden aria2 downloads, retry RPC, and preserve HuggingFace XET redirect headers 2026-07-14 02:33:44 +02:00
Dariusz L 48db08ae1a Harden network requests, downloads, and path handling
- Add core/network_utils.py with URL validation, public-IP enforcement,
  redirect validation, and safe request_public_url/validate_public_http_url helpers
- Replace direct requests calls in downloader/type_utils/sources with
  request_public_url so redirects are validated before follow-up
- Replace netloc string checks with host_matches_domain for CivitAI,
  CivArchive, and HuggingFace host matching
- Add HuggingFace Xet download backend with progress reporting and
  cancellation support via hf_xet/huggingface_hub
- Harden aria2 installer: reject symlinks/special files in archives,
  restrict custom aria2c paths to the managed install, and update UI copy
- Normalize paths with realpath and enforce configured model roots in
  local hash/metadata routes, plus remove caller-selected metadata_path
  injection in sidecar writing
- Sanitize download/network errors to strip signed query strings before
  logging or showing them to the user
2026-07-14 01:33:19 +02:00
Dariusz L 208bf06f3d Update README.md 2026-07-14 00:17:19 +02:00
Dariusz L 7feea3b61e Restrict scanner extension filtering to configured category extensions only 2026-07-14 00:09:59 +02:00
Dariusz L b0661b7d81 Update huggingface-author-index.json 2026-07-13 23:29:34 +02:00
Dariusz L 8ae6efcc82 Update pyproject.toml v1.0.3 2026-07-12 23:42:34 +02:00
Dariusz L 44153d9d7a Make download cancellation workflow-scoped and prevent stale progress from reviving cancelled downloads
- Introduce workflow-scoped download state keys so active downloads and progress are isolated per workflow tab/route.
- Add a transient 'cancelling' status path and a finalizeCancelledDownloadFrontend helper to avoid flicker and prevent stale progress responses from recreating completed/cancelled UI state.
- Guard active-download lookups by current workflow scope to reduce cross-workflow interference.
2026-07-12 23:28:42 +02:00
Dariusz L 6ed34b6a92 Preserve active download local matches and clean up cancelled downloads
Keep path-specific Local Matches for active downloads during refreshes,
URN search, and missing-model display so late hash-only lookups do not
overwrite them.

Remove cancelled download matches from missing-model UI and cached
analysis when a download is cancelled.
2026-07-12 22:04:53 +02:00
Dariusz L 64fdb7bd87 Import build_search_result in civitai source module 2026-07-12 21:20:46 +02:00
Dariusz L 572b948b92 Add Tripo and Hunyuan3D base models and refresh HuggingFace author index cache 2026-07-12 21:10:12 +02:00
Dariusz L 8cd3a2968b Use indented JSON when writing HuggingFace author index cache 2026-07-12 21:04:04 +02:00
Dariusz L 6451d9bcf4 Improve model path matching and refresh HuggingFace author index
core/path_templates.py: allow model alias tokens to match when suffixed
with a version string or plural form, reducing false negatives in
single-folder path resolution.

metadata/huggingface-author-index.json: update Comfy-Org index timestamp
and repository ordering.
2026-07-12 21:00:18 +02:00
Dariusz L 8baf3871d0 Update ComfyUIdownloads.yml 2026-07-07 18:49:15 +02:00
Dariusz L e0997ed9fd Refactor workflow dependency marker sizing to use fixed bounds and compact oversized nodes 2026-07-07 02:40:55 +02:00
Dariusz L 6f9aa9cc55 Improve Model Resolver dependency marker node compatibility and rendering
- Adopt ComfyUI's ComfyExtension/comfy_entrypoint API in __init__.py when
  available, falling back to legacy NODE_CLASS_MAPPINGS/DISPLAY_NAME_MAPPINGS
  on older runtimes so the node loads across ComfyUI versions.
- Hook into beforeRegisterNodeDef, loadedGraphNode, and afterConfigureGraph
  in web/resolver.js so marker nodes are patched during registration, graph
  load, and initial render.
- Teach model_resolver.js to recognise the marker node by every known class
  property shape, patch its type on creation, enforce a minimum size with
  setSize() when present, and dirty the canvas so changes are reflected.
2026-07-06 21:59:30 +02:00
Dariusz L c40cbafc00 Add Model Resolver Opener dependency marker node 2026-07-06 21:36:31 +02:00
Dariusz L f4a049eca9 feat(core, web): embed workflow model hash metadata and prefer hash-based matching 2026-07-06 18:09:31 +02:00
Dariusz L 5d5aa6ae76 Update pyproject.toml v1.0.2 2026-07-06 16:18:52 +02:00
Dariusz L 7962ab2050 Update publish.yml 2026-07-06 16:12:03 +02:00
Dariusz L 488f9512c8 Update pyproject.toml 2026-07-06 16:08:18 +02:00
Dariusz L 0cecfab2a0 Switch default log level from DEBUG to ERROR across backend, frontend, and options defaults 2026-07-06 16:05:50 +02:00
Dariusz L b27572d84f Suppress noisy no-op metadata build log when all models were skipped 2026-07-06 15:23:54 +02:00
Dariusz L 23c0f79444 Add paginated show-more behavior to metadata build history 2026-07-06 14:57:44 +02:00
Dariusz L 8f525044e8 feat(options): make metadata panels collapsible and add summary icons 2026-07-06 14:51:15 +02:00
Dariusz L 5a9e81cc70 refactor(options): use visibility-based transitions for metadata build panels and defer history rendering 2026-07-06 13:58:31 +02:00
Dariusz L f3c0024d46 Replace metadata build history select with custom action filter menu 2026-07-05 22:47:07 +02:00
Dariusz L 39943d5e17 Make metadata history filterable and full-length, and stabilize build progress UI 2026-07-05 22:25:01 +02:00
Dariusz L b9f364e3e4 Add Local Metadata Builder UI and backend API
This change introduces a complete Local Metadata Builder feature in the resolver
options panel. It allows users to scan local model files, create or update
.metadata.json sidecars, fill missing SHA256 hashes from safetensors headers or
file hashing, and review run history with cancel/error handling.

Changes include:
- backend API: /model_resolver/metadata-build/{capabilities,start,progress/{id},cancel}
- backend worker: core/metadata_builder.py with parallel metadata generation
- frontend section: Local Metadata Builder tab in Options
- frontend polling UI: progress, worker breakdown, history table, status/notifications
2026-07-05 21:52:57 +02:00
Dariusz L de6b7738e1 Reorganize options sidebar into Tools and System sections
Move Metadata Sizes into a dedicated Tools group and Maintenance into a System group to improve navigation clarity in the resolver options panel.
2026-07-05 20:59:14 +02:00
Dariusz L 85bbbef06d Add metadata size audit for model sidecar metadata 2026-07-05 18:03:29 +02:00
Dariusz L 6c1e940203 refactor(sources): centralize search result construction and shared helpers
Move MODEL_TITLE_MATCH_THRESHOLD to core/matcher.py.

Add shared helpers to core/type_utils.py:
- normalize_lora_manager_type
- normalize_model_file_info
- build_search_result

Refactor civarchive, civitai, lora_manager_archive, and huggingface
sources to use centralized helpers, removing duplicated inline dict
construction, type normalization, username extraction, and search
query wrappers.
2026-07-05 06:34:16 +02:00
Dariusz L e386930936 Improve base model matching and subfolder suggestion UX 2026-07-05 05:57:54 +02:00
Dariusz L f691af6387 annotate active downloads in local matches 2026-07-05 05:16:20 +02:00
Dariusz L 629bc791a6 feat: extract richer local metadata from safetensors headers, improve base-model inference, and preserve local data when remote lookups fail 2026-07-05 04:22:25 +02:00
Dariusz L a079733130 Extract SHA256 from safetensors header and track hash source 2026-07-05 03:00:07 +02:00
Dariusz L 3f54bd4979 Restrict file access to configured model roots and sanitize download filenames 2026-07-04 23:56:50 +02:00
Dariusz L 683eb6dfef Translate Polish workflow output and docstrings to English 2026-07-04 20:42:46 +02:00
Dariusz L 7d3c966a9e Update README.md 2026-07-04 20:26:19 +02:00
GitHub Action ce4fc1d5e7 Create or update Model Resolver downloads badge 2026-07-04 18:21:09 +00:00
Dariusz L ef63dbd564 Update ComfyUIdownloads.yml 2026-07-04 20:19:09 +02:00
Dariusz L c244eeec77 Delete badges/DOWNLOADS.md 2026-07-04 20:17:49 +02:00
GitHub Action a558cff2b8 Create Model Resolver badge 2026-07-04 18:10:02 +00:00
Dariusz L 9b177fdd20 chore(CI): update checkout versions and migrate publishing workflow to comfy-cli 2026-07-04 20:09:11 +02:00
Dariusz L cc8fdda32c chore: add pyproject metadata, CI workflows, and reorganize clone badge into badges/ v1.0.0 2026-07-04 19:59:03 +02:00
Dariusz L 03a284a34b Update README.md 2026-07-04 19:19:50 +02:00
Dariusz L 4d9b1e70d7 Update README.md 2026-07-04 19:12:32 +02:00
Dariusz L 8d4b8d879f docs(README): clarify Aria2 setup, path templates, and downloader settings 2026-07-04 19:09:41 +02:00