572 Commits
Author SHA1 Message Date
Dariusz L 449c2c8c68 Update pyproject.toml v1.0.5 2026-07-24 14:12:56 +02:00
Dariusz L 45ea998068 Resolve GGUF models by normalized download category alias 2026-07-24 14:11:25 +02:00
Dariusz L da7d9b3fc9 Skip non-model reference categories in workflow analyzer
Treat widget values under the configs and custom_nodes dynamic
categories as non-model references so the workflow analyzer does
not falsely mark them as missing models. Added a regression test
to verify a checkpoint widget is still detected when a config
widget is present.
2026-07-24 14:04:07 +02:00
Dariusz L 2dd53222a7 Fix icon sizing in resolver main CSS 2026-07-22 15:02:45 +02:00
Dariusz L 32c744cbd1 Fix missing-detail pane layout alignment and spacing 2026-07-22 14:53:40 +02:00
Dariusz L d1a5288104 style: align custom URL download button with search button picker styling 2026-07-22 13:44:53 +02:00
Dariusz L 7eca1a9c13 increase column header font size for readability
- bump .mr-missing-browser .mr-column-header from 10px to 15px
- bump #model-resolver-modal .mr-missing-detail-pane .mr-column-header from 11px to 15px
2026-07-22 13:39:32 +02:00
Dariusz L 854cb2c08c track explicit search sources and gate local database download visibility 2026-07-22 13:25:33 +02:00
Dariusz L a822ef09c3 feat(missing models): add type filter dropdown to missing models browser 2026-07-22 13:09:14 +02:00
Dariusz L c5215c2d3f Stabilize download workflow scope during missing-model render 2026-07-22 12:48:05 +02:00
Dariusz L 07df118b18 Update huggingface-author-index.json 2026-07-20 17:32:17 +02:00
Dariusz L d293b0aaf8 Treat model_gguf as diffusion_models and render accepted file formats in missing-model UI 2026-07-20 16:54:28 +02:00
Dariusz L 097be623f4 feat: preserve CivArchive page URLs separate from HuggingFace mirrors, fix HTML array escaping, and accept provider array payloads
Backend:
- Keep CivArchive source page URL distinct from HuggingFace download mirrors in download metadata
- Handle CivitAI hash lookup HTTP errors and unexpected JSON shapes without caching failures
- Allow network JSON requests to return arrays as well as objects

Frontend:
- Escape each item individually when interpolating arrays into HTML templates
- Prefer the selected provider's page URL over cross-provider mirrors in context menus and download targets
- Reuse source link resolution for model info display

Tests:
- Add coverage for CivArchive metadata URL isolation, HTML array escaping, provider array responses, and CivitAI hash lookup caching behavior
2026-07-20 16:16:09 +02:00
Dariusz L 60ca3a381a fix: isolate manual/HuggingFace metadata from stale CivitAI provenance 2026-07-20 15:34:32 +02:00
Dariusz L 16a69f6c47 refactor: unify provider JSON requests, catalog sync, and normalization across backend; add frontend HTML escaping helpers 2026-07-20 15:13:57 +02:00
Dariusz L 7ee358b2c5 Improve model matching by normalizing technical suffixes and family signatures 2026-07-20 14:15:41 +02:00
Dariusz L f0889a6c7f Update huggingface-author-index.json 2026-07-20 13:34:01 +02:00
Dariusz L 6f1e6aea34 Show Bad type badge when local match file type is not accepted by node catalog 2026-07-20 12:46:04 +02:00
Dariusz L 2f7a2c5869 refactor(search): preserve workflow path context and standardize tooltips 2026-07-20 12:12:34 +02:00
Dariusz L a4460afa65 fix(workflow_analyzer): ignore generic model_name STRING widgets in metadata/search nodes
Generic widget names such as model_name are no longer treated as local
model references by default. Only folder-backed schemas, known widget
indexes, or a model-typed combo/output pairing now admit an extensionless
value.

This prevents metadata/search nodes (for example Civitai Hash Fetcher)
with a model_name STRING input from being incorrectly reported as missing
models.

Added test_model_name_string_used_as_metadata_query_is_ignored to cover
the regression.
2026-07-19 19:34:10 +02:00
Dariusz L fb600a3868 Refine workflow model reference detection
- Accept explicit model URNs without requiring model widget metadata
- Restrict model scanning to widgets with category/model hints or model-like filenames
- Remove over-broad single-widget-value detection path
- Add tests for cached model text, custom selectors, and constant/model slot edge cases
2026-07-19 19:10:54 +02:00
Dariusz L 8b2d200f77 Normalize select_safetensors to diffusion_models 2026-07-19 15:46:34 +02:00
Dariusz L c1e7dcfa1c Preserve resolver display mode when auto-opening for missing models
Add openResolverForDetectedMissingModels() in model_resolver.js to
keep the current resolver display state when missing models are
detected: if the resolver dialog is already visible, schedule an
active workflow refresh instead of re-activating the button; if it
is hidden, activate the resolver button as before.

Update the auto-open-on-missing path to use the new method, and
adjust/add tests to cover the preserved display mode behavior.
2026-07-19 15:28:47 +02:00
Dariusz L 0047514f7c Add auto_open_on_missing setting to control resolver auto-launch 2026-07-19 15:21:04 +02:00
Dariusz L a4875a607b Update huggingface-author-index.json 2026-07-19 15:12:56 +02:00
Dariusz L e7ee26cad8 refactor: preserve downloads panel DOM state during active refresh
Patch the panel element instead of replacing innerHTML, maintaining hover and tooltip state for active download cards.
2026-07-19 15:10:12 +02:00
HarrievG db2c77290c fix: support Hugging Face Hub 1.23+ Xet downloads
Handle removal of the legacy Xet connection-info helper while preserving the native download fallback. Adds regression coverage for mixed Hugging Face dependency versions.
2026-07-19 14:45:49 +02:00
Dariusz L 79e7aa3743 refactor: unify provider JSON requests and move settings schema to dynamic loading 2026-07-18 15:10:34 +02:00
Dariusz L 8cc02010b0 Remove unused backend and frontend code 2026-07-18 14:47:05 +02:00
Dariusz L 5362cb17a3 refactor: remove dead code and add isAutoOpenEnabled helper 2026-07-18 14:01:05 +02:00
Dariusz L 29ecf533e0 Update huggingface-author-index.json 2026-07-18 13:49:21 +02:00
Dariusz L 89a721fc62 Normalize CivitAI search queries and simplify tRPC search behavior 2026-07-18 13:43:51 +02:00
Dariusz L c39eea4f51 refactor: remove dead code and unused frontend handlers across backend and web 2026-07-18 13:30:34 +02:00
Dariusz L b302566542 refactor: remove dead code and add clear_completed_downloads endpoint 2026-07-18 12:57:29 +02:00
Dariusz L 0b53fca8c6 refactor: unify category resolution, network requests, sidecar lookup, and progress tracking
Consolidate provider-specific category mapping into resolve_model_category(),
shared JSON request handling into execute_provider_json_request(), sidecar
path resolution into get_or_build_model_sidecar_info(), and progress
reporting into ProgressTracker. Update civitai/civarchive/common sources to
use the unified helpers. Add tests for the new utilities. Remove redundant
frontend wrapper methods from render_format_methods.js.
2026-07-18 12:48:11 +02:00
Dariusz L 759aef99f1 Unify model result building and progress payload updates 2026-07-18 12:26:17 +02:00
Dariusz L 92dbfc7932 Create test_unification_refactoring.py 2026-07-18 10:24:28 +02:00
Dariusz L 2987c036e2 refactor: unify settings schema and dynamic node rules exposure across backend and frontend 2026-07-18 10:21:49 +02:00
Dariusz L aff97c5e29 refactor: centralize shared normalization, timestamp, and search-result helpers 2026-07-18 10:02:34 +02:00
Dariusz L 719b3b3f43 Refactor: centralize metadata sidecar helpers and custom-result builders 2026-07-18 09:43:27 +02:00
Dariusz L be12494953 refactor: centralize shared utilities across backend and frontend
Backend:
- Move SHA256 normalization logic from path_utils._normalize_header_sha256
  into core/type_utils.normalize_sha256, adding support for 0x-prefixed
  hashes and unifying the normalization path used by
  extract_safetensors_header_sha256.
- Add tests for the 0x prefix normalization cases.

Frontend:
- Introduce copyTextWithFeedback in web/resolver/utils/html_utils.js
  as a shared clipboard helper with configurable feedback text, CSS class,
  and duration, replacing repeated inline clipboard copy logic in
  globals.js, model_info_methods.js, and the notification utility.
- Centralize showNotification on ResolverManagerDialog and remove the
  duplicate implementation from missingBrowserMethods.
- Replace local const localStorage = safeStorage aliases in
  model_info_methods.js, missing_browser_methods.js, and
  options_methods.js with direct safeStorage usage.
2026-07-17 18:06:22 +02:00
Dariusz L 28d24214aa fix: improve resolver error propagation, sanitization, and consistency 2026-07-16 11:11:48 +02:00
Dariusz L 20a83c7262 refactor: improve code quality and consistency across backend modules 2026-07-16 11:00:45 +02:00
Dariusz L 61f1403543 Update .gitignore 2026-07-16 10:53:08 +02:00
Dariusz L 38dc3e4474 refactor: centralize shared utilities, normalize imports, and configure project linting 2026-07-16 10:52:06 +02:00
Dariusz L 04c3de9533 refactor: reuse shared path and URL normalization utilities
Replace inline regex path/URL normalization in resolver.py and
missing_browser_methods.js with the existing shared helpers:

- core/resolver.py: normalize_workflow_download_url now uses
  prepare_remote_size_probe_url from type_utils instead of a local
  huggingface-specific regex substitution.
- web/resolver/views/missing_browser_methods.js: path identity
  generation now uses normalizePathIdentity from html_utils.js rather
  than ad hoc replace/trim/lowercase logic.

This keeps normalization behavior consistent across the codebase and
removes duplicated regex patterns.
2026-07-16 10:27:06 +02:00
Dariusz L 52a8d3a54b refactor: use get_filename_from_path helper for consistent filename extraction 2026-07-16 10:18:15 +02:00
Dariusz L 8823049f9e refactor: centralize filename extraction, remote URL normalization, and storage abstractions 2026-07-16 10:13:38 +02:00
Dariusz L 32394135e9 refactor: centralize catalog management and unify matcher/progress logic 2026-07-16 09:51:47 +02:00
Dariusz L e4485f3bdf Treat SAM and Ultralytics models as base-model-independent in search panel 2026-07-16 09:10:00 +02:00