Commit Graph
303 Commits
Author SHA1 Message Date
Dariusz L 514b7d5114 feat: support subgraph instances in node context menu
- Detect subgraph instance scope and distinguish top-level vs nested nodes
- Aggregate inner resolved models for outer subgraph instances so menus show
  promoted and hidden models together
- Patch both class prototypes and individual node instances when they define
  getExtraMenuOptions or getMenuOptions, preserving native menu hooks
- Re-inject context menu after loadedGraphNode and queueMicrotask for
  subgraph-created nodes
- Add tests for menu injection on overridden getMenuOptions and instance
  patching, plus subgraph scope and aggregation behavior
2026-08-03 21:05:49 +02:00
Dariusz L dcb4996333 fix: improve rgthree Power Lora Loader removal detection and workflow refresh retry behavior
- Wrap node.widgets.splice in rgthree Power Lora Loader adapter so removals
  made through the context menu trigger model resolution updates.
- Delay node context menu analysis when a workflow refresh is already
  pending to avoid stale analysis.
- Extend workflow refresh retry logic to also retry when ComfyUI is still
  serializing the previous workflow after a node widget change.
- Add tests for context menu removal detection, refresh retry behavior,
  and deferred context analysis.
2026-08-03 19:31:29 +02:00
Dariusz L db76a45b1b fix: preserve subgraph instance context on cached node reuse, deduplicate workflow analysis requests, and configure context menu for dynamic nodes 2026-08-03 19:05:32 +02:00
Dariusz L da76170abc Add toggle to show/hide inactive missing models 2026-08-03 17:17:56 +02:00
Dariusz L c83dea4182 Replace generic link icons with dock/undock icons 2026-08-03 17:04:16 +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 0ff8057576 Unify frontend SHA-256 normalization 2026-08-03 12:56:24 +02:00
Dariusz L 2559145fc1 Unify model category aliases across backend and UI 2026-08-03 12:52:20 +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 b9cc47cd00 chore(frontend): organize missing type filter styles 2026-08-02 15:08:36 +02:00
Dariusz L 678bcb460a refactor(frontend): extract workflow identity state 2026-08-02 13:58:30 +02:00
Dariusz L 25bde5f58b refactor(frontend): extract keybinding utilities 2026-08-02 13:52:46 +02:00
Dariusz L 6034b9adbf refactor(frontend): extract model hash comparison 2026-08-02 13:50:21 +02:00
Dariusz L c025f9bdba refactor(frontend): extract missing model state 2026-08-02 13:46:38 +02:00
Dariusz L d198b489da refactor(frontend): extract search state management 2026-08-02 13:42:53 +02:00
Dariusz L 3551a601c8 refactor(frontend): extract search hash policies 2026-08-02 13:38:30 +02:00
Dariusz L 9d0321bb81 refactor(frontend): extract base model aliases 2026-08-02 13:36:12 +02:00
Dariusz L 57e6f8c61d refactor(frontend): extract search source policies 2026-08-02 13:34:02 +02:00
Dariusz L 10ef9504dd test(frontend): cover download progress states 2026-08-02 13:28:17 +02:00
Dariusz L 396a28ba4f refactor(frontend): extract download progress policy 2026-08-02 13:27:21 +02:00
Dariusz L f2d11bd477 refactor(frontend): extract queue storage methods 2026-08-02 13:26:21 +02:00
Dariusz L 922a30fdd4 refactor(frontend): extract shared API client 2026-08-02 13:20:20 +02:00
Dariusz L f9a03a65a9 Add footer version check failure retry interval
Use a separate shorter refresh interval when footer version checks fail,
track the failure state, and schedule retries via a dedicated timer.
On success, clear any pending retry timer so recovery is immediate.
2026-08-02 13:10:40 +02:00
Dariusz L abb92b2138 refactor(frontend): clean unused catches and regex escapes 2026-08-02 04:20:44 +02:00
Dariusz L 4e0d11e7cc refactor(frontend): remove unused imports and locals 2026-08-02 04:14:54 +02:00
Dariusz L c7a0f2f78c fix: prefer selected-file hash over inherited workflow or source hash 2026-08-01 22:50:13 +02:00
Dariusz L 422899e91b feat(resolver): keep model description separate from version notes 2026-08-01 21:12:53 +02:00
Dariusz L e3affba329 Add Model Resolver version status feature 2026-08-01 20:56:02 +02:00
Dariusz L 9cbc3098c6 Preserve missing browser detail width across rerenders 2026-08-01 15:15:18 +02:00
Dariusz L 25b09799fb Simplify Missing Models browser splitter resize behavior 2026-07-31 21:24:11 +02:00
Dariusz L df4d4a36ac Improve Missing Models browser resize behavior 2026-07-31 20:54:33 +02:00
Dariusz L a8ba99800c Expand HuggingFace author fallback to multiple known publishers
Support both Comfy-Org and Kijai author indexes as known HuggingFace fallbacks, aggregate their status in the backend, refresh the cached author index, and update the frontend UI and tests.
2026-07-29 16:18:25 +02:00
Dariusz L cb032c7c3d feat: track missing models for LoRA loader workflow signatures 2026-07-29 15:53:26 +02:00
Dariusz L 8822bb0064 Preserve Missing Models browser geometry during refresh 2026-07-28 19:05:43 +02:00
Dariusz L 10a0327328 feat: preserve Missing Models browser geometry during cached refresh 2026-07-28 19:03:08 +02:00
Dariusz L 48cc5c9050 Fix progress polling hover state regression in downloads tab 2026-07-28 18:59:45 +02:00
Dariusz L f8a6e8b626 feat: add HuggingFace model details, variant table, and download context 2026-07-28 17:20:36 +02:00
Dariusz L 9aa7077a33 feat: preserve Missing Models browser during refresh instead of replacing it 2026-07-28 15:18:12 +02:00
Dariusz L df01b17148 Reuse visible missing model browser when navigating from resolved model
When the resolver dialog is already visible on the Missing Models tab,
showResolvedNodeModelInResolver now reuses the existing browser instead
of forcing a reload or requeuing the selection. This avoids unnecessary
UI refreshes and keeps the current view stable.

Changes:
- web/resolver/model_resolver.js: skip reopen/queue when the dialog is
  already visible on the missing tab; prefer existing browser selection
- web/resolver/views/missing_browser_methods.js: support
  preferExistingBrowser in selectWorkflowModelReference and center the
  selected row instead of scrolling to nearest
- tests/test_downloads_tab_workflow_route.mjs: cover reuse behavior and
  row-patching/centering
2026-07-28 14:50:53 +02:00
Dariusz L 1e7cad595c refactor: extract custom-node model adapters from inline handlers 2026-07-28 14:43:37 +02:00
Dariusz L 67a0fc27e7 feat: add callback-driven LoRA widget handling for Loaded Models refresh
- Configure callback-driven model widgets for LoRA Manager, LoraLoaderV2,
  Lora Stacker, and Power Lora Loader nodes in graph and loaded graph hooks
- Track callback-driven widget states to trigger context analysis and
  dialog refresh when LoRA lists or strengths change via widget callbacks
- Add signature helpers for callback-driven model list and strength changes,
  including Power Lora Loader dynamic lora_N widgets
- Extend Loaded Models tab with model DOM keys, identity normalization,
  copy-value updates with active/inactive grouping, and targeted strength
  updates from node widgets without full re-render
- Add tests verifying callback-driven refresh behavior, suppression respect,
  Power Lora Loader strength chip updates, and LoRA Manager list membership
  signature tracking
2026-07-28 14:23:11 +02:00