Commit Graph
168 Commits
Author SHA1 Message Date
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 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 34d4139ec6 Implement viewport clamping for modal dialog and add resize handling 2026-05-27 16:46:56 +02:00
Dariusz L e3cc23cc48 Add missing sources summary refresh to LinkerManagerDialog 2026-05-27 16:23:43 +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
Dariusz L a63c75ac63 Improve missing source status styling and logic for exact/partial/found matches 2026-05-27 02:27:45 +02:00
Dariusz L efa1e4ad2d Remove unnecessary CSS rule for missing detail pane column headers 2026-05-27 01:46:48 +02:00
Dariusz L 1602c96e28 style: adjust missing detail pane styling in model linker modal 2026-05-27 01:36:38 +02:00
Dariusz L 1484e12ef1 UI: Flatten missing detail pane sections in model linker modal
Remove backgrounds, borders, and border-radius from columns and download sections.
Adjust spacing and add borders between columns for a cleaner layout.
2026-05-27 01:20:49 +02:00
Dariusz L 638c1e7bbe Add styles for missing detail panel polish 2026-05-27 01:14:57 +02:00
Dariusz L c3fbe897d0 UI/UX improvements: refine model linker dialog styling with updated fonts, spacing, colors, and interactive elements 2026-05-27 00:42:14 +02:00
Dariusz L 2336fb6ef0 UI: Add local alternatives toggle and improve link button styling
- Add CSS for .ml-local-alternatives-toggle component with hover/focus states
- Update missing browser button styles to use compact link button
- Adjust disabled footer button opacity for better visibility
- Replace alternatives div with toggle button in linker.js
- Enhance MLToggleHidden to support aria-expanded and dynamic label/state updates
2026-05-27 00:24:37 +02:00
Dariusz L 74bc1e03f7 UI improvements: refine missing browser styling, dialog appearance, and minor text fix 2026-05-27 00:10:39 +02:00
Dariusz L 4c410de6b3 Dynamic column width calculation for missing models list in Linker Manager dialog 2026-05-26 23:57:21 +02:00
Dariusz L 18b72316be feat: add missing models browser UI and logic
- Implement CSS styles for missing models browser interface (.ml-missing-browser and related classes)
- Add JavaScript methods for handling missing models:
  * getMissingModelKey, getMissingFilename, getBestLocalMatch
  * getMissingModelSummaryStats, getMissingSourceStatus
  * renderMissingSourcesSummary, hasRenderableSearchState
- Replace missing models rendering logic with new implementation
- Support for exact/partial match statistics and source status indicators
2026-05-26 23:53:32 +02:00
Dariusz L f3a4730a4e Adjust dialog sizing to full viewport and add box-sizing 2026-05-26 22:51:57 +02:00
Dariusz L 2604be5126 Add compact search progress display and improve search status rendering 2026-05-26 18:27:47 +02:00
Dariusz L 20d4d3187b ui: improve search result action buttons styling and behavior
- Remove transform transitions and animations from action buttons
- Restyle buttons with consistent sizing, colors, and hover states
- Convert anchor tags to buttons with proper type attributes
- Add click handlers for opening links in new tabs with security attributes
- Clear subfolder list when repopulating options
2026-05-26 18:15:11 +02:00
Dariusz L d974dce5d1 ui: replace select elements with custom dropdowns for better styling
- Replace HTML <select> elements with custom div-based dropdown components
- Add CSS variable --ml-download-control-height for consistent control sizing
- Update search source and category selectors to use custom styled dropdowns
- Improve responsive layout with grid template columns and media queries
- Add keyboard and mouse event handling for custom dropdowns
- Ensure consistent styling across all form controls
2026-05-26 17:55:33 +02:00
Dariusz L 5637c6faa1 feat(linker): add online re-check and search controls for exact local matches 2026-05-26 17:30:24 +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 497818d1ee Render and normalize model version names in Linker UI
Add helper methods to normalize and split model and version names, render versioned model names in search results, cards, loading states and CivitAI links, include version metadata on rows, and add CSS styling for model version text. Improves display clarity when models include version names and avoids duplicated filenames.
2026-05-26 17:02:36 +02:00
Dariusz L ec4d6fe8f9 Refactor download/search UI and URN handling
- Replace renderDownloadSourceSection with renderKnownDownloadPanel and wireDownloadSearchPanel to centralize download/search UI wiring
- Improve URN filename resolution and search flags
- Remove obsolete .ml-download-actions CSS rules
- Minor __init__.py fix: check filename before enabling lora_manager_archive search
2026-05-26 16:52:38 +02:00
Dariusz L 5bcfd12ff5 Include known download source in search results, dedupe rows, and add download wiring
Add getDownloadSourceTableRow to render known/download-source rows
Include known download source in search results and prevent duplicates
Add wireSearchDownloadButtons to attach download handlers
Allow custom search button text and render download target controls
Minor UI/formatting fixes and URN refresh alignment
2026-05-26 16:27:06 +02:00
Dariusz L ffd7d548f2 web(linker): add estimated search progress timers and UI
Add estimated progress timers and helpers to show smoother search progress across sources. Track per-run timers, compute eased percentages, update progress state on completion/error, and adjust CSS for running state and transitions.
2026-05-26 16:19:44 +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 bebf5b6e59 web: refine Model Linker UI — improve context menu, tooltips, info dialog, and styles
Improve UX for model relinking: add context menu actions (Show Info, Open on CivitAI, Open containing folder), sanitize CivitAI descriptions, persist info dialog size, and adjust CSS spacing and visibility.
2026-05-26 15:52:05 +02:00
Dariusz L 538d5ed50a Refactor source search into async per-source tasks
Extract local, HuggingFace, CivitAI and lora-manager searches into functions returning (results, found); build search_tasks and run them concurrently with asyncio.to_thread + asyncio.gather; consolidate result merging. Improves concurrency and clarity.
2026-05-26 15:27:15 +02:00
Dariusz L b4798333d6 web/log_system: bump version to 1.5.5 and improve logger output\n\n- Bump package version to 1.5.5\n- Include configurable milliseconds in timestamps and compact callsite labels\n- Improve console output formatting and grouping of expanded details\n- Parse and print structured JSON payloads in string args\n- Normalize and enrich callsite information for clearer source labels\n- Misc refactors and bugfixes to formatting and suffix logic\n\nReason: improve developer console readability and make logs easier to inspect and parse. 2026-05-26 14:58:11 +02:00
Dariusz L 7d8c8895f1 docs(linker): clarify 32 UI tooltips, labels, and button titles for better usability
Improve text on buttons, info-panel rows, settings tooltips, and menu
labels to more accurately describe what each element does rather than
stating the obvious. No functional changes.
2026-05-20 03:21:04 +02:00
Dariusz L ca5de099b0 Add include_brackets option to ColoredFormatter
Adds a new include_brackets parameter to ColoredFormatter that controls
whether square brackets wrap timestamps, root labels, and log level names
in formatted log output. When True, brackets are applied; when False
(the default for AzLogsLogger), brackets are omitted for cleaner output.
This allows callers like AzLogsLogger to opt-in to bracket formatting
independently via the constructor.
2026-05-20 02:10:20 +02:00
Dariusz L 272033acfe refactor(log_system): bump web logging system to v1.5.3
- Update version field in config.js, log_funcs.js, and logger.js from 1.5.1 to 1.5.3
- Rename LoggerUtils to lowercase_kebab-case log_funcs in log_funcs.js description
- Simplify Logger description to lowercase logger in logger.js
- Remove 'Colorful logs in the console' detail from logger.js description
2026-05-20 01:51:27 +02:00
Dariusz L cb106e5d73 feat(log_system): add call site tracking to web Logger
Capture and display the file path, line, and column where each log
call originated. Uses a lightweight stack-trace parser (Error().stack)
that skips internal log_system frames, preferring the first external
caller.

Changes:
- getCallsite(), parseStackLine(), formatCallsite(), formatSuffix() added
- log() and logModule() include callsite in logData and display it as
  a parenthetical suffix on both console and exported output
- serializeLogEntry/logToStorage/logToInspector preserve callsite through
  serialization round-trips
- exportLogs text output uses formatSuffix for consistent display
2026-05-20 01:46:55 +02:00
Dariusz L 780ef9d0ef refactor(log_system): bump to v1.5.2 — bracket-wrapped console output, shared file handlers, and milliseconds toggle
Console output (ColoredFormatter):
- Level name is now wrapped in [LEVEL] and left-padded via _format_level.
- Timestamp and root-label segments are individually bracket-wrapped, keeping
  plain-output layout consistent with coloured output.
- Separator between fields is colourised (colour code derived from level theme)
  so the table structure remains readable.
- New include_milliseconds init flag controls whether a fractional-second suffix
  is appended to the timestamp; _format_time respects it.
- _display_logger_name unchanged; _split_logger_name still decomposes dotted names
  into root / detail parts.

File logging (AzLogsLogger):
- file_handlers dict introduced to cache one RotatingFileHandler per top-level
  root module, preventing duplicate handlers when multiple sub-modules log to
  the same file (_get_file_handler / _get_log_file / _root_module_name).
- File handler formatter upgraded from a bare logging.Formatter to ColoredFormatter
  (colours off, milliseconds on, datefmt hard-coded to
  '%Y-%m-%d %H:%M:%S') so file output carries the same column structure as
  the console formatter.
- reset_loggers method properly removes and closes all handlers (StreamHandler
  and RotatingFileHandler) from every configured logger before clearing
  self.loggers and self.file_handlers, allowing _get_logger to be called again
  with fresh settings.
- set_file_logging now delegates to reset_loggers instead of simply clearing
  the loggers dict.
2026-05-20 01:34:51 +02:00
Dariusz L de9819e2b9 fix(log_system): bump web version to 1.5.1; fix inspector spacing and parseLoggerDetail edge case
- Bump web/log_system version from 1.5.0 to 1.5.1 to match core/
- Fix console inspector format: add space before suffix %c and trailing empty
  color intent so suffix text is not merged with the preceding styled message
- Add edge case guard in splitModuleName for single-part module strings that
  differ from LOGGER_NAME, restoring previous behavior of returning the
  logger name as root and the full value as detail
2026-05-20 00:24:53 +02:00
Dariusz L 0c7c76b263 refactor(log_system): bump version to 1.5.1; add ruff noqa T201 to log_funcs and logger
- Increment log_system version from 1.5.0 to 1.5.1 in all module docstrings
- Add # ruff: noqa: T201 to log_funcs.py and logger.py to suppress
  ruff T201 (favored print() usage) warning in logging utility modules
2026-05-19 07:59:16 +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 e6389366d4 feat(log_system): bump version to 1.5.0 and restructure LoggerUtils JSDoc
- Bump package version from 1.4.1 to 1.5.0 across LoggerUtils.js, config.js, and logger.js
- Move changelog-style feature notes inline under the author/version JSDoc header
  in LoggerUtils.js, replacing the trailing block comment with a structured list
2026-05-19 07:44:31 +02:00
Dariusz L b532d83ae7 feat(log_system): restructure console log output with color-coded table format and module name splitting
- Rename LOG_MODULE_NAME from 'model-linker' to 'MLinker' for shorter prefixes
- Add USE_COLORS config option to control styled console output
- Refine log level color palette: purple/debug, green/info, amber/warn, red/error
- Update timestamp format to HH:mm:ss.SSS for millisecond precision
- Refactor console log rendering to a color-coded table layout with background
  highlights on timestamps and logger name columns
- Add splitModuleName helper to separate root module from dotted sub-namespace
- Add stringifyArgs helper for safe serialization of non-string log arguments
  (strings, errors, objects via JSON.stringify, fallback to String)
- Update serializeLogEntry and console output to use the new leveled layout
  (levelName padded to fixed width)
2026-05-19 07:40:47 +02:00