164 Commits
Author SHA1 Message Date
Dariusz L 22f4cbcdee Add configurable download sound and improve cancellation retries 2026-10-05 19:49:23 +02:00
Dariusz L b0b466cfc0 Add removable model search results and restore re-added links 2026-10-05 17:57:22 +02:00
Dariusz L a1935b89e4 Support linked models from Civitai image URLs with page fallback 2026-10-05 17:41:13 +02:00
Dariusz L 500a5af382 Preserve unsaved options across docking 2026-10-05 16:42:44 +02:00
Dariusz L 4054be2a04 Prefer HuggingFace direct download URLs and preserve them through selection 2026-09-16 20:14:43 +02:00
Dariusz L 9c9f2f5482 Show spinner while applying queued model 2026-09-14 15:59:44 +02:00
Dariusz L 5d6ac6c451 Show queue counts on toggle icon 2026-09-14 15:35:38 +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 b93f63e68a fix: keep Apply button disabled during queued resolution and re-enable on failure 2026-09-10 01:16:31 +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 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 a0f370eed0 Add persistent queue downloads subtabs container 2026-08-12 20:01:34 +02:00
Dariusz L 215f4e391e refactor frontend storage access through safeStorage 2026-08-09 00:08:51 +02:00
Dariusz L 4727669f5a Unify archive search result rows 2026-08-07 16:08:07 +02:00
Dariusz L 8b1559e31c refactor shared download DOM key 2026-08-07 04:16:04 +02:00
Dariusz L 1bba061a29 refactor: centralize filename extraction callsites 2026-08-07 01:15:45 +02:00
Dariusz L 613372539b refactor: centralize search row metadata preparation 2026-08-07 00:27:27 +02:00
Dariusz L 30b1bf99e9 refactor: centralize search result row construction 2026-08-07 00:24:03 +02:00
Dariusz L 43d83c2574 Unify local download matching 2026-08-06 21:13:20 +02:00
Dariusz L f484735f7c refactor: centralize missing model filters 2026-08-06 20:03:31 +02:00
Dariusz L eb430f16a0 refactor(web): share dropdown search matching 2026-08-06 17:01:21 +02:00
Dariusz L 6f3273ad3b refactor(web): unify download action handlers 2026-08-06 16:52:13 +02:00
Dariusz L 7afcd52f3f feat: persist active download recovery across browser refreshes
Add frontend storage and restore flow for active backend downloads so
workflow context, missing model bindings, and queue UI state survive
browser refreshes.

- Add queue storage methods for loading/saving/removing active download
  recovery entries with serializable metadata.
- Add restoreActiveDownloadsFromBackend and rebindActiveDownloadMissingModels
  to resolve_download_methods.
- Hook restore and rebind into lifecycle graph methods.
- Add tests for recovery persistence and refresh restoration behavior.
2026-08-06 02:48:51 +02:00
Dariusz L 07f5f5829a fix: prevent download UI collisions for custom nodes and handle missing preview probes 2026-08-06 01:47:33 +02:00
Dariusz L 7269347c00 refactor: unify frontend source normalization 2026-08-05 04:31:30 +02:00
Dariusz L fec8004573 refactor: share instant action binding 2026-08-05 02:06:57 +02:00
Dariusz L adc29077c8 perf(frontend): delegate dynamic action clicks 2026-08-04 20:20:42 +02:00
Dariusz L d2c4d513db refactor(frontend): reuse shared DOM synchronization 2026-08-04 20:17:41 +02:00
Dariusz L 7b4a2e607e fix(frontend): ignore stale local match refreshes 2026-08-04 20:12:46 +02:00
Dariusz L 746f7d3ec4 fix(frontend): ignore stale search and URN UI responses 2026-08-04 20:08:53 +02:00
Dariusz L 3b98851edf fix(frontend): stabilize queued downloads refreshes 2026-08-04 19:42:55 +02:00
Dariusz L b8d7bac497 fix(frontend): preserve URN download panel container 2026-08-04 19:40:49 +02:00
Dariusz L 058832073d fix(frontend): preserve local match rows during refresh 2026-08-04 19:40:04 +02:00
Dariusz L 5906523d0c fix(frontend): preserve search results during progress updates 2026-08-04 19:36:14 +02:00
Dariusz L f1620a7659 frontend: preserve missing models browser state during apply and avoid duplicate workflow refreshes 2026-08-04 19:13:13 +02:00
Dariusz L 3f0e753edd feat: add SHA-256 search support and refresh HuggingFace author index
- Propagate sha256 through search orchestrator and providers
- Add hash-based lookup for CivitAI, HuggingFace, CivArchive, and LoRA Manager Archive
- Update search UI to accept SHA-256 hashes and refine link/name toggle styling
- Refresh HuggingFace author index metadata
2026-08-04 05:41:51 +02:00
Dariusz L c3afd9324c Add link/name toggle to download methods search input 2026-08-04 00:57:13 +02:00
Dariusz L 8d48e0dc37 Simplify download progress UI rendering and fix queue DOM insertion 2026-08-03 16:54:00 +02:00
Dariusz L 5b8b243aee refactor: unify download queue rendering and add workflowBack icon 2026-08-03 16:24:52 +02:00
Dariusz L 415bcb93f4 feat: improve aria2 download resilience and queue presentation 2026-08-03 15:55:08 +02:00
Dariusz L c28184aca3 Refactor download queue item rendering and actions 2026-08-03 15:01:07 +02:00
Dariusz L 8e7d14be6d Unify download progress presentation 2026-08-03 14:08:00 +02:00
Dariusz L 8d9ca189fc Remove obsolete compatibility aliases 2026-08-03 13:11:59 +02:00
Dariusz L 413e7cc0ab Promote subgraph widget contexts to top-level model references
When a subgraph exposes a promoted widget and the instance value or connected
inner widget contains a usable model path, create a top-level model reference
on the subgraph node instead of only pointing to the inner definition node.
This lets resolution, location, and queue updates target the instance widget
directly.

Also handle serialized subgraph instances that omit proxyWidgets by
reconstructing the same promotion from subgraph input/link metadata, and
extend widget values for promoted inputs in the workflow updater.
2026-08-03 04:17:49 +02:00
Dariusz L 5f1a933ae5 feat: add provider-specific search retry 2026-08-02 22:12:52 +02:00
Dariusz L bb3ccdd47f feat: improve CivArchive status feedback 2026-08-02 22:06:38 +02:00
Dariusz L 4ea3f7d50f fix(frontend): clarify CivArchive error tooltips 2026-08-02 15:42:15 +02:00
Dariusz L ce52d957f9 feat(frontend): explain CivArchive availability errors 2026-08-02 15:28:52 +02:00
Dariusz L 10ef9504dd test(frontend): cover download progress states 2026-08-02 13:28:17 +02:00