42 Commits
Author SHA1 Message Date
Dariusz L 7705cfc688 Make metadata inspector sections collapsible and normalize spacing 2026-10-16 18:26:07 +02:00
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 c83dea4182 Replace generic link icons with dock/undock icons 2026-08-03 17:04:16 +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 b9cc47cd00 chore(frontend): organize missing type filter styles 2026-08-02 15:08:36 +02:00
Dariusz L abb92b2138 refactor(frontend): clean unused catches and regex escapes 2026-08-02 04:20:44 +02:00
Dariusz L a822ef09c3 feat(missing models): add type filter dropdown to missing models browser 2026-07-22 13:09:14 +02:00
Dariusz L 8f525044e8 feat(options): make metadata panels collapsible and add summary icons 2026-07-06 14:51:15 +02:00
Dariusz L 88cf8580f7 feat: add local model hash calculation with manual-progress notifications 2026-07-02 00:41:40 +02:00
Dariusz L 41f0f6c7b4 Use shared global notification container across custom nodes
Add SHARED_CONTAINER_ID constant so the toast container is no longer namespaced per-node.

This allows different custom nodes or projects to stack notifications in one container.
2026-06-30 01:27:52 +02:00
Dariusz L 24db5ed54c refactor: centralize notification handling into shared utility 2026-06-30 01:08:11 +02:00
Dariusz L 378f82cb25 feat: identify auto-download-capable missing models; add workflow schema inference and badge UI
- Extend dynamic widget category hints to capture choice source (static/hybrid/folder_paths)
- Infer workflow schema model candidates from output category hints when widget values match known presets
- Surface auto_download_capable and auto_download_candidate flags in missing model data
- Merge these flags on duplicate missing model entries
- Add cloud-download badge UI with tooltip explaining auto-download context
- Update huggingface author index metadata timestamp
2026-06-29 20:34:03 +02:00
Dariusz L 5571035e23 Replace resolved badge with check icon in missing model rows
- Switch missing model row layout from grid to flex
- Add circleCheckBig SVG icon to icon_utils
- Replace green 'Resolved' text pill with inline checkmark icon
- Update CSS with resolved icon and model details wrapper styles
2026-06-27 22:21:21 +02:00
Dariusz L a01be11e27 feat(info-dialog): improve model info dialog layout and UX
- Add Escape key handler to close the info dialog, with proper cleanup
- Extract reusable renderInfoFieldLabel() helper to reduce code duplication
- Add dedicated SVG icons (file, fileText, hash, box, hardDrive, bookType) for field labels
- Adjust dialog sizing to calc(100vh - 16px) with 92vw max width
- Refactor CSS into .mr-info-field-label / .mr-info-label-icon / .mr-info-label-text
- Improve trained-words row layout with flex styling
2026-06-23 21:15:22 +02:00
Dariusz L 0a98c9e44f feat: add suggest download subfolder button with lightbulb animation; normalize search button labels based on UI state
- Add grid layout and CSS for a new 'Suggest' column in the download target
  panel, including a lightbulb SVG icon button with a flash animation
- Update download_target_methods.js to render the suggest button in the
  dedicated grid area and apply a ‘mr-is-suggesting’ animation on click
- Adjust search button label logic so it shows 'Search Again' when there is
  a renderable search state in the panel, otherwise show 'Search Online'
2026-06-21 03:51:24 +02:00
Dariusz L c7f108fcf7 feat: add gated mirror status to model details view 2026-06-08 17:34:51 +02:00
Dariusz L 6e2f1b3101 feat: enhance CivArchive resilience and mirror display
backend:
- add 429 retry handling with backoff in CivArchive API requests
- add page-scraping fallback for CivArchive model payloads
- normalize CivArchive mirrors with dead/gated/paid/sha256 metadata
- include file metadata and mirror data in normalized archive files
- propagate additional dead/missing status field aliases
- include metadata in normalized CivitAI files

frontend:
- render mirror lists with source grouping, dead-link indicators, and skull icons
- add file badges (primary, type, format, size, fp, mirror count, id)
- improve secondary info in resolve/download methods to include base model
- enhance search panel secondary info with base model and filename
- on selecting a version with empty files, fetch fresh version details
- propagate base model context to CivitAI search state and display labels
2026-06-08 03:03:53 +02:00
Dariusz L 511cf4ff1d refactor: update HuggingFace author index and refresh search panel icons 2026-06-08 00:56:27 +02:00
Dariusz L 9160b365b0 feat: update nav icons for Local Database and Maintenance options 2026-06-07 18:18:07 +02:00
Dariusz L b9c9867472 feat: replace context menu text icons with SVG icons for consistent UI styling 2026-06-07 15:20: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 1618273c75 Replace local database icon with ComfyUI icon and update styling 2026-06-04 19:54:18 +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 c4e86edf94 Add CivArchive model source to Model Linker extension 2026-05-29 18:45:52 +02:00
Dariusz L 235525e454 Update externalLink and internalLink SVG icons 2026-05-29 16:13:29 +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 af2a3cd645 Add docking functionality to Model Linker dialog 2026-05-29 03:38:23 +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 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 a18eeb9e74 Update lora archive icon to loraManager and remove redundant status section
- Changed icon mapping for lora-archive, lora_manager_archive, and lora-manager-archive from 'archive' to 'loraManager'
- Added new loraManager SVG icon in icon_utils.js
- Removed redundant 'Not needed' status display before search controls in download section
2026-05-27 17:40:43 +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 997186720c feat: enhance search results table with dynamic column widths and source icons 2026-05-26 17:18:40 +02:00
Dariusz L bab7cd266f Refactor search results to table layout with helper methods and new styles; add download and externalLink SVG icons. 2026-05-26 16:13:55 +02:00
Dariusz L 72d084ab64 refactor: rename utils to lowercase_kebab-case and fix import paths; add Missing Models popup integration to linker
- Rename web/utils/{css-loader→css_loader,ErrorHandler→error_handler,IconUtils→icon_utils,ResourceManager→resource_manager} and web/log_system/{LoggerUtils→log_funcs} to lowercase_kebab-case naming convention
- Update all cross-import paths in the recreated utils and linker.js accordingly
- Add removeResolvedFromPopup / markEntryAsResolved to visually mark resolved entries in the ComfyUI Missing Models popup
- Add updateNodesDirectly to update graph node widgets in-place without triggering a full workflow reload
- Add checkAndOpenForMissingModels with isAutoOpenEnabled/setAutoOpenEnabled to auto-open the linker dialog when a workflow with missing models is loaded
- Add helper methods getMissingSearchKey, getSearchState, mergeSearchResults for per-entry search state caching and merging
2026-05-19 07:55:28 +02:00
Dariusz L e5fa58f262 UI modernization: centralize SVG icons and adopt CSS variables
- Create web/utils/IconUtils.js with centralized SVG icon definitions
- Replace inline SVGs in linker.js with getSvgIcon() calls
- Refactor CSS to use CSS custom properties throughout
- Add renderProgressWithAction() helper for consistent progress UI
- Add renderOnlineSearchResultCard() helper for search results
- Add MLToggleHidden() utility for show/hide toggle
- Replace hardcoded spacing, fonts, colors with CSS variables
- Standardize markup with reusable CSS classes
2026-05-11 05:09:24 +02:00
Dariusz L ac4ba4df42 refactor(css): extract inline styles to dedicated CSS files
Remove ~8000 lines of inline JavaScript styles from linker.js and organize
them into two focused stylesheets:
- linker-shell.css: modal shell, backdrop, window controls, layout structure
- linker-main.css: main content area (cards, buttons, forms, dialogs, tabs)

Simplify and clean up css-variables.css variable definitions.
Update css-loader.js to load both new stylesheet files.

Significantly improves code maintainability and separation of concerns.
2026-05-11 04:52:58 +02:00
Dariusz L 995b897f95 refactor(css): consolidate CSS loading to single variables file
Remove individual CSS component file references and streamline css-loader
to only load css-variables.css. The web/css directory now contains the
consolidated stylesheet, reducing complexity and improving maintainability.
2026-05-11 02:47:18 +02:00
Dariusz L 79412da9b8 Translate to English 2026-05-11 02:44:30 +02:00
Dariusz L a288b26b66 refactor(logging): AzLogs v1.4.1 with dynamic storage and utilities
Enhance logging system with configurable module names and dynamic
localStorage keys to avoid conflicts between multiple plugin instances.

- Add LOG_MODULE_NAME and DEFAULT_LOGGER_NAME to web/log_system/config.js
- Update logger.js to use dynamic storage keys based on module name
- Change window property from ResolutionMasterLogger to dynamic key
- Add PyDoc metadata to core/log_system/config.py
- Add JSDoc metadata blocks to all web log_system files

Reorganize web utilities:
- Move css-loader.js from web/ to web/utils/
- Add ErrorHandler.js for centralized error handling
- Add ResourceManager.js for stylesheet and template loading

 rename: web/css-loader.js => web/utils/css-loader.js
2026-05-11 02:41:30 +02:00