Commit Graph
202 Commits
Author SHA1 Message Date
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 e9bc6369a2 frontend: standardize options status styling with CSS classes
Add a success color token and replace scattered textContent assignments
with setElementStatusText / setStatusMode so local DB, base models,
HF index, and cache-clearing statuses consistently use is-pending,
is-valid, and is-invalid classes.
2026-09-10 01:11:38 +02:00
Dariusz L d26b0a788b Add refresh animations for busy option/search controls 2026-09-10 01:01:41 +02:00
Dariusz L 65fd1ac554 frontend: restore missing-browser split width synchronously on initial paint
In missing_browser_methods.js, apply the saved split before the first paint when
the docked panel is narrower than the last layout, instead of waiting one
animation frame. Also tighten fast-width estimation by trying
getBoundingClientRect().width when clientWidth/offsetWidth are unavailable, and
measure from the observed resize host rather than the browser element itself.
2026-08-12 21:09:47 +02:00
Dariusz L 907876905c Add custom resize handle to model info dialog 2026-08-09 22:58:21 +02:00
Dariusz L e0d5dff0a0 refactor: reuse shared filename extraction 2026-08-08 22:31:35 +02:00
Dariusz L 8724bb5d5b refactor: unify loaded model grouping 2026-08-08 22:23:04 +02:00
Dariusz L 8a8e2bc3a1 refactor shared source URL detection 2026-08-07 04:12:57 +02:00
Dariusz L e485b467cc refactor: reuse shared frontend path identity 2026-08-07 02:56:10 +02:00
Dariusz L 8b9a11ec64 refactor: remove redundant escape html wrappers 2026-08-07 01:17:23 +02:00
Dariusz L 277268c055 refactor: unify frontend category collection 2026-08-06 23:43:58 +02:00
Dariusz L 57568f1d0f refactor: unify local model context menus 2026-08-06 23:13:10 +02:00
Dariusz L cf4697ddd8 refactor shared frontend size parsing 2026-08-06 22:30:15 +02:00
Dariusz L 335f886a4e Unify local path joining 2026-08-06 21:19:29 +02:00
Dariusz L 2ef86fed3b refactor: unify local match classification 2026-08-06 20:01:20 +02:00
Dariusz L c164d8d676 refactor(frontend): share path template formatting 2026-08-06 18:22:56 +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 f3fc4b419d refactor shared download path and options helpers 2026-08-05 15:21:17 +02:00
Dariusz L d964f5fad7 refactor missing model filter bindings 2026-08-05 15:10:39 +02:00
Dariusz L f1cdfcdbd6 refactor missing model row reconciliation 2026-08-05 15:05:51 +02:00
Dariusz L a695a4103a refactor: unify credential check bindings 2026-08-05 13:35:08 +02:00
Dariusz L 7269347c00 refactor: unify frontend source normalization 2026-08-05 04:31:30 +02:00
Dariusz L 0d08bbceaa refactor: reuse shared source display labels 2026-08-05 02:53:04 +02:00
Dariusz L 7fe31aabad refactor shared source labels 2026-08-05 00:46:21 +02:00
Dariusz L af7f9d0798 refactor frontend SHA-256 field extraction 2026-08-05 00:42:39 +02:00
Dariusz L 8606e3e1fd fix(frontend): preserve analysis progress during polling 2026-08-04 20:23:13 +02:00
Dariusz L f5ad8c8af1 fix(frontend): patch loaded models progress in place 2026-08-04 19:45:29 +02:00
Dariusz L a093edd004 fix(frontend): dispose missing models virtualizer on full refresh 2026-08-04 19:29:25 +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 fdaa00265a feat(frontend): add virtualized missing browser and custom modal resize
- Replace full missing-models list rendering with virtual scroll container
- Improve splitter responsiveness by lowering layout frame stride to 1
- Add custom modal resize handle with pointer-event driven sizing
- Reduce live layout throttle from 40ms to 16ms
- Update related route assertions for new layout behavior
2026-08-04 15:19:26 +02:00
Dariusz L da76170abc Add toggle to show/hide inactive missing models 2026-08-03 17:17:56 +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 bb3ccdd47f feat: improve CivArchive status feedback 2026-08-02 22:06:38 +02:00
Dariusz L ce52d957f9 feat(frontend): explain CivArchive availability errors 2026-08-02 15:28:52 +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 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 422899e91b feat(resolver): keep model description separate from version notes 2026-08-01 21:12:53 +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 10a0327328 feat: preserve Missing Models browser geometry during cached refresh 2026-07-28 19:03:08 +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