Commit Graph
75 Commits
Author SHA1 Message Date
Dariusz L ab59cd231f feat: add base model filtering across search sources, API routes, and frontend UI 2026-06-06 19:43:43 +02:00
Dariusz L 57ac022fc4 feat: add refresh button to re-analyze workflow and refresh local matches 2026-06-06 18:26:47 +02:00
Dariusz L 7bd1b9ad33 feat: persist download target subfolder selections and add suggest button 2026-06-06 18:18:58 +02:00
Dariusz L 57b8bc7cda feat: add force search (ignore cache) toggle to batch search menu
Adds a checkbox in the resolver footer search menu that bypasses all
search result caches for the duration of a batch search run.

Frontend (queue_methods.js, resolve_download_methods.js,
resolver_dialog.js, search_panel.js, resolver-main.css):
- Introduce checkbox-type footer menu items (type: 'checkbox').
- Add 'Force search (ignore cache)' checkbox to the search menu,
  wired to a new forceBatchSearch flag on ResolverManagerDialog.
- Pass forceSearch through searchMissingBatch and searchOnline to
  the backend API call.
- When the manual search button is clicked and results already exist
  for that model, forceSearch defaults to true.
- mergeSearchResults respects forceRefresh: if a forced search
  returns no results for a source, that source is cleared from the
  cached results.

Backend (__init__.py, core/sources/huggingface.py):
- force_search is read from the incoming API request and, when true,
  clears all active source search caches (local, huggingface,
  civitai, civarchive, lora_manager_archive) before searching.
- force_search is forwarded as force_refresh to
  search_huggingface_for_file, which folds it into the cache key so
  the cache is not hit, and propagates it to _get_author_index.
- Search result timestamps are no longer inherited from prior
  cached signatures when force_search is active; a fresh timestamp
  is written unconditionally.

Updated metadata/huggingface-author-index.json reflects the latest
cached author index after rebuild.
2026-06-06 17:02:25 +02:00
Dariusz L 57018b4e0f feat: add search result timestamps, enhanced cache clearing, and maintenance UI
Add searched_at timestamps to search results so cached entries are accurately tracked and preserved across merges. Expand the clear-search-cache command to also invalidate popular databases, model list, and the new result timestamp store. Frontend gains new cache-clearing methods and a full resolver cache reset for maintenance. The search panel and missing browser now show source result dates and toggle the search button between 'Search' and 'Search Again' when results already exist.
2026-06-06 16:38:30 +02:00
Dariusz L e031b288ed feat: add hover/focus preview highlights for footer menu items 2026-06-06 03:29:36 +02:00
Dariusz L 4eebc1c9ac refactor: consolidate link actions into footer menu
Group Queue Exact, Apply Selected, and Clear Selected into a single
'Link' dropdown menu in the missing browser footer. Move Auto-Link 100%
into the same menu and show/hide it when exact local matches exist.

Add disabledWhen support to createFooterMenu items so buttons can be
visually and functionally disabled. Include disabled state styles for
.mr-footer-menu-item.

Simplify footer visibility logic and update references throughout.
2026-06-06 03:15:49 +02:00
Dariusz L 08128de8e9 feat: improve footer menu button caret and tooltip behavior 2026-06-06 03:07:12 +02:00
Dariusz L 0e02bd9eb6 feat: add batch search cancellation and dynamic footer menu items 2026-06-06 02:59:42 +02:00
Dariusz L 5a8e68655f refactor: rename Model Linker to Model Resolver
Replace all link dialog terminology with resolver terminology
throughout the codebase, including module names, CSS classes,
IDs, JS variables, SVG gradient IDs, and log module names.
Remove the old web/linker/ tree and introduce the new web/resolver/
tree with parallel structure. Also replace core/linker.py with
core/resolver.py.
2026-06-05 05:53:39 +02:00
Dariusz L d38e1cbb67 Add inline credential validation endpoints and UI for CivitAI, HuggingFace, and Brave Search 2026-06-05 03:56:15 +02:00
Dariusz L c3fad878af Add persistent HuggingFace author index cache and reorganize options UI 2026-06-05 03:36:58 +02:00
Dariusz L 4b57d07ffa Add batch selection UI, footer command menus, and helper filters for missing models 2026-06-05 02:51:23 +02:00
Dariusz L c4ee8844d4 Improve footer button accessibility and visual disabled state
Adds ARIA labels, tooltips, and aria-disabled attributes to all footer
buttons (Apply, Auto-link, Download All). Enforces a visible disabled
state via the .ml-btn-is-disabled class instead of relying on the
native disabled attribute, which is compatible with the custom dialog.
2026-06-05 02:31:51 +02:00
Dariusz L 1618273c75 Replace local database icon with ComfyUI icon and update styling 2026-06-04 19:54:18 +02:00
Dariusz L f9e8ce3eb4 Add Local Database status and update feature for model-list.json
Add backend endpoints (/model_linker/model-list/status, /model_linker/model-list/update)
that let users check whether their bundled ComfyUI-Manager model-list.json is current
and download the latest version from GitHub, with SHA tracking and cache invalidation.

Add corresponding UI in the Options dialog under a new 'Local Database' section
with status display, remote check, and update controls.
2026-06-04 19:48:12 +02:00
Dariusz L 6102972ea8 Add copy mode switching, refactor copy section UI, and harden XSS handling 2026-06-04 18:55:12 +02:00
Dariusz L a277d3d6b6 Fix XSS in copy section and tighten UI spacing 2026-06-03 18:21:04 +02:00
Dariusz L ae4398fb56 Use provider-specific icons for CivitAI and HuggingFace options nav 2026-06-03 18:12:44 +02:00
Dariusz L 37011c080a Remove horizontal padding from missing detail pane card body 2026-06-03 17:21:32 +02:00
Dariusz L 1cf5b448cb Improve queue panel resize UX with edge-drag collapse preview and collapse-to-edge toggle 2026-06-03 16:43:20 +02:00
Dariusz L 5f3262e266 Improve panel resize performance with RAF throttling and flex layout 2026-06-03 16:07:59 +02:00
Dariusz L 719b84fe6a Remove padding from queue items for flush, borderless layout 2026-06-03 15:31:51 +02:00
Dariusz L d6660dad26 Add search source enable/disable settings with persistence
- Added methods to manage search source definitions and their enabled state via localStorage
- Added UI toggles in the options dialog for each search source
- Updated CSS for source icons in the options
- Refactored source selection logic to use enabled sources
- Ensured at least one source remains enabled (defaults to local)
2026-05-29 19:06:01 +02:00
Dariusz L c4e86edf94 Add CivArchive model source to Model Linker extension 2026-05-29 18:45:52 +02:00
Dariusz L 2b27a05961 Restyle queue items and add HTML escaping for security 2026-05-29 17:57:05 +02:00
Dariusz L 4dd3c99833 Refactor queue panel visibility into updateQueueVisibility method and refresh splitter styling 2026-05-29 17:52:54 +02:00
Dariusz L 15e51951a5 Update linker options panel: CSS redesign, add icons to nav buttons, update title 2026-05-29 16:53:17 +02:00
Dariusz L 9df0400fae Refactor button styling to use CSS variables and add support for model linker modal 2026-05-29 16:34:40 +02:00
Dariusz L 7ecea75af0 Adjust fullscreen behavior when docked and update SVG icons to use stroke-width:2 and round line caps 2026-05-29 15:44:51 +02:00
Dariusz L ebe8c0a4ea Add draggable splitter to adjust width of missing model detail pane in linker UI 2026-05-29 15:23:28 +02:00
Dariusz L af2a3cd645 Add docking functionality to Model Linker dialog 2026-05-29 03:38:23 +02:00
Dariusz L ba9ae41f1e Refactor: introduce CSS variables for model type colors and update linker UI to use them 2026-05-28 15:57:04 +02:00
Dariusz L 93c5cad1d5 feat: add type-based chip styling and dynamic class assignment for model types 2026-05-28 15:54:28 +02:00
Dariusz L b5beace334 Update drag handling: use topbar for dragging, add cursor styles, and exclude certain elements from drag initiation 2026-05-28 15:12:00 +02:00
Dariusz L 6124005f6c Use CSS variable for missing panel backgrounds
Added --ml-missing-bg variable and replaced hardcoded background
values with var(--ml-missing-bg) for consistency across missing
state UI components.
2026-05-28 06:45:31 +02:00
Dariusz L 4ed0247005 Refactor tab UI: add ml-tab-label spans, adjust hover/focus states, and simplify transitions
- Add ml-tab-label span elements for better tab label structure
- Update padding and hover/focus states for consistent styling
- Remove isolation property and simplify transition handling
- Set opacity: 0 for ::after pseudo-element by default
2026-05-28 06:36:44 +02:00
Dariusz L f2ca72881e Fix model-linker drag handle alignment and sizing
- Add align-self: flex-start for proper positioning
- Change dimensions to 30x30px square
- Adjust border-radius to 8px
- Add margin-top and box-sizing for consistent layout
2026-05-28 06:28:43 +02:00
Dariusz L 015db24f52 fix: disable pointer-events and transition on active tab
Prevent mouse events and animation on the active tab element in the model linker UI.
2026-05-28 06:25:25 +02:00
Dariusz L e12633c614 Fix tab styling: adjust padding, border-radius, and positioning for better visual alignment 2026-05-28 06:23:10 +02:00
Dariusz L 40b8c0e79d Improve tab styling in model linker UI
- Active tab: use CSS mask for corner effects instead of box-shadow
- Hover tab: add pseudo-element overlay with proper z-index layering
- Increase tab hover background opacity from 0.045 to 0.075
- Add --ml-tab-corner-size variable for corner radius control
- Fix tab separator color to use active bg color instead of inset shadow
- Update header border in linker-shell.css for better contrast
2026-05-28 06:16:00 +02:00
Dariusz L 5dec88fd15 Improve tab styling and accessibility in linker UI
- Redesign tabs with new visual styling (active/hover states, separators)
- Add ARIA attributes for tab accessibility (aria-selected, aria-disabled, aria-current)
- Update header styling in linker-shell.css
- Refactor tab switching logic to use centralized state management
2026-05-28 06:05:21 +02:00
Dariusz L 1048b0ace4 Replace window button text with SVG icons and refine styles
- Replace unicode text ('⛶', '×') with SVG icons for fullscreen/close buttons
- Add new SVG icons (windowMaximize, windowRestore, x) to icon_utils.js
- Update CSS selectors to scope window button styles under #model-linker-modal
- Remove border/box-shadow from buttons, add hover states
- Increase button size to 46x40px with full height
- Add aria-label attributes for accessibility
- Adjust dialog controls layout with stretch alignment
2026-05-28 04:47:50 +02:00
Dariusz L acac519724 Restructure dialog layout and refine tab styling
- Move tab elements before dialog controls in DOM order
- Update tab styling: smaller min-height, rounded corners, subtle backgrounds
- Add ml-dialog-brand and ml-dialog-controls flex classes
- Adjust active tab border and background opacity
2026-05-28 04:37:04 +02:00
Dariusz L dc7c0a1b71 Replace inline style display toggles with CSS class-based visibility
- Add new utility classes: ml-is-hidden, ml-is-visible, ml-is-inline-flex
- Add ml-is-muted and ml-is-error for text color states
- Add ml-is-success-action for success button styling
- Add ml-icon-img for icon vertical alignment
- Replace style.display = 'block/none' with classList toggles in linker.js
- Update getIconHtml to use ml-icon-img class instead of inline styles
2026-05-28 04:32:18 +02:00
Dariusz L 15c787d236 Add CSS variables for missing UI controls with fallback values
- Add --ml-missing-control-* variables for background, border, focus states
- Add --ml-missing-chip-* variables for chip components
- Add --ml-missing-icon-* and dimension variables
- Update linker-main.css to use new variables with fallbacks
2026-05-28 04:16:34 +02:00
Dariusz L 4745f711c7 Improve missing model UI styling
- Replace radial gradient background with solid color for missing list pane
- Use CSS variables for missing surface and text colors
- Refine chip and button styles with consistent border-radius and shadows
- Update hover states with subtle transforms and opacity adjustments
- Improve icon sizing and alignment in buttons
2026-05-28 04:03:12 +02:00
Dariusz L 732b45a211 Improve missing model display and node location in linker UI
- Add getMissingNodeDisplay() helper to centralize node label formatting
- Make missing list rows keyboard-accessible (Enter/Space selection)
- Add clickable locate buttons for missing nodes to center in graph
- Style focus states for accessibility (outline, box-shadow)
- Add refreshCw icon to icon_utils.js for combo refresh buttons
- Refactor row HTML structure for better semantics
2026-05-27 17:04:32 +02:00
Dariusz L 246fc376f3 Migrate tooltips from title attributes to data-tooltip with custom JS implementation 2026-05-27 16:03:44 +02:00
Dariusz L 19f9d83e4a Refactor missing source dot styling with CSS variables and improved visual effects 2026-05-27 15:50:24 +02:00