Commit Graph
207 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 0f70d85f56 Add analysis_id support across workflow analysis pipeline 2026-08-03 20:01:02 +02:00
Dariusz L a431723b7d fix: preserve promoted context cache when inner subgraph widgets change
Previously, _get_promoted_widget_context_cache_key included widgets_values
from context nodes, so changing a widget inside a promoted subgraph
invalidated the entire cache snapshot even when promotion topology and
other nodes were unchanged.

This makes promoted-context snapshots key off node structure and
topology only, while individual nodes are still reanalyzed when their
widgets_values actually change.
2026-08-03 19:51:42 +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 415bcb93f4 feat: improve aria2 download resilience and queue presentation 2026-08-03 15:55:08 +02:00
Dariusz L ce462a21d5 Align managed aria2 root with installer root and allow symlinked executable paths 2026-08-03 15:14:22 +02:00
Dariusz L 7cba340de1 Unify hash request validation 2026-08-03 14:15:00 +02:00
Dariusz L cf08aa97de Unify custom URL result builders 2026-08-03 14:12:25 +02:00
Dariusz L 8e7d14be6d Unify download progress presentation 2026-08-03 14:08:00 +02:00
Dariusz L c294d9d389 Unify local match deduplication 2026-08-03 14:05:05 +02:00
Dariusz L 19e87cf1b5 Remove remaining stale module aliases 2026-08-03 13:40:12 +02:00
Dariusz L c6070d9531 Remove obsolete CivArchive compatibility shims 2026-08-03 13:28:13 +02:00
Dariusz L 8d9ca189fc Remove obsolete compatibility aliases 2026-08-03 13:11:59 +02:00
Dariusz L e1e725792b Unify shared path normalization 2026-08-03 12:59:04 +02:00
Dariusz L 0ff8057576 Unify frontend SHA-256 normalization 2026-08-03 12:56:24 +02:00
Dariusz L 510aa570ce Unify remote dead-link detection 2026-08-03 12:54:55 +02:00
Dariusz L 2559145fc1 Unify model category aliases across backend and UI 2026-08-03 12:52:20 +02:00
Dariusz L 128a6ccacf Refactor shared metadata model helpers 2026-08-03 12:46:48 +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 428d0c0b46 test: cover provider status aggregation 2026-08-02 22:18:15 +02:00
Dariusz L c0abf02040 refactor: normalize CivArchive diagnostics 2026-08-02 22:15:53 +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 0531f4e9b2 feat: expose CivArchive provider status 2026-08-02 22:00:51 +02:00
Dariusz L ed571a8ec6 feat: classify CivArchive failures 2026-08-02 21:57:46 +02:00
Dariusz L d241bc6482 test: capture CivArchive failure contract 2026-08-02 21:54:05 +02:00
Dariusz L 048be11185 test: enforce workflow module boundaries 2026-08-02 20:17:33 +02:00
Dariusz L 01c6dc62cb test: cover runtime imports 2026-08-02 20:12:50 +02:00
Dariusz L a23fa499f5 test: cover workflow components 2026-08-02 20:10:48 +02:00
Dariusz L 9a7b16cde2 refactor: move missing workflow grouping 2026-08-02 19:40:10 +02:00
Dariusz L c462db3345 refactor: extract workflow inventory 2026-08-02 19:38:35 +02:00
Dariusz L 426b7c0542 refactor: extract workflow analysis 2026-08-02 19:35:38 +02:00
Dariusz L e3fdf9f334 refactor: extract workflow references 2026-08-02 19:28:33 +02:00
Dariusz L 9daa3403e4 refactor: extract dynamic workflow widgets 2026-08-02 19:21:14 +02:00
Dariusz L 8cfb595f92 refactor: extract static workflow widgets 2026-08-02 19:10:13 +02:00
Dariusz L c37b2a3a0f refactor: remove downloader compatibility aliases 2026-08-02 18:34:26 +02:00
Dariusz L 413e44fed4 test: lock downloader facade exports 2026-08-02 18:28:28 +02:00
Dariusz L b304399798 refactor: slim downloader facade 2026-08-02 18:26:49 +02:00
Dariusz L f09447f16c test: update download API patch points 2026-08-02 18:19:39 +02:00
Dariusz L 7fb2f01223 test: cover downloader boundaries 2026-08-02 16:17:35 +02:00
Dariusz L 69bf8a2a93 ci: skip duplicate registry versions 2026-08-02 16:02:17 +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 699365f336 test(frontend): cover node context menu policies 2026-08-02 14:46:58 +02:00
Dariusz L fb43ca2b83 test(frontend): cover splitter drag cancellation 2026-08-02 14:44:30 +02:00
Dariusz L 63b66c0ee9 test(frontend): cover model URL parsing 2026-08-02 14:42:57 +02:00
Dariusz L 006cf70921 test(frontend): cover model hash comparison fallbacks 2026-08-02 14:42:01 +02:00