Commit Graph
1069 Commits
Author SHA1 Message Date
Dariusz L cb6cd3cc08 Update model metadata indexes and add MOSS Image base model 2026-10-27 22:04:14 +01:00
Dariusz L e667c1cf93 Resolve upstream prompt text from string nodes and preserve linked prompts in metadata view 2026-10-27 22:03:57 +01:00
Dariusz L 0094c4ae84 Prevent non-model files from appearing as fuzzy match candidates
- Filter non-model files in scanner when folder_paths category extensions are empty
- Skip candidates with known non-model extensions in find_matches
- Add .engine, .patch, and .tflite to MODEL_EXTENSIONS
- Add unit tests for empty extension directory scanning and matcher candidate filtering
2026-10-27 21:11:11 +01:00
Dariusz L f7dfe3d8e5 Enhance download resilience with HTTP 416 recovery, stall detection, and network guard
- Recover completed .part files on HTTP 416 without deleting and redownloading
- Add stream stall detection and automatic reconnect for interrupted socket reads
- Implement persistent download state store and pause/resume lifecycle controls
- Add RateLimitCoordinator and ConnectivityGuard circuit breaker for requests
- Support proxy_url configuration and validate aria2 proxy settings
- Add unit tests for 416 recovery, stall reconnect, state store, and network guard
2026-10-26 19:26:50 +01:00
Dariusz L d9286b53d5 Retain interrupted download progress cards and add in-place retry action
- Keep failed or interrupted downloads in active downloads queue instead of dismissing immediately
- Present interrupted state with error tooltip, distinct status chip, and progress percentage
- Add in-place Retry download play action that resumes downloading from existing partial files
- Support dismissing interrupted downloads via cancel button
- Update CSS styling and unit tests for download action handlers and progress states
2026-10-26 16:42:56 +01:00
Dariusz L c62edd755c Improve aria2 and Python download robustness and retry handling
- Drain aria2 daemon stderr in a background thread to prevent Windows pipe buffer saturation and deadlock
- Promote critical disk write and permission errors from aria2 stderr to warnings
- Automatically refresh expired signed CDN URLs and resume downloads via aria2 continue=true
- Shield addUri against mid-registration cancellations to prevent orphaned downloads
- Retry Range requests directly on target URL when redirects drop the Range header in Python downloads
- Add auto-reconnect stream loop on transient socket disruptions with seamless partial-hash resumption
- Increase default download chunk size to 4MB for improved I/O throughput
- Parse HTTP 429 Retry-After headers for informative rate limit reporting
- Add unit test suite covering new aria2 and Python downloader resilience behaviors
2026-10-26 15:33:13 +01:00
Dariusz L 59bc928f8e Verify aria2 download SHA256 in background to avoid blocking at 100%
- Omit blocking checksum and check-integrity options from aria2 transfers to prevent long pauses at 100% on large models
- Run SHA-256 integrity verification asynchronously in a background thread via Python hashlib
- Update download progress and metadata sidecars upon background verification completion or mismatch
- Add unit tests for aria2 option omission and background verification
2026-10-26 14:27:44 +01:00
Dariusz L 55197621eb Support Smart Model Loader Nova [SML2] nodes (#6)
Add custom node adapter for ComfyUI_SmartModelLoader_Nova suite:
- Support 'Smart Model Loader [SML2]', 'CLIP Loader [SML2]', and 'LoRA Stack [SML2]'
- Parse and serialize canonical JSON configuration widget
- Extract diffusion models, VAE, CLIP text encoders, and LoRAs with strengths
- Enable model resolution by hash using per-resource SHA256 stored in the node
- Update model paths and SHA256 checksums in canonical JSON format during relinking
- Add unit and end-to-end integration tests
2026-10-25 18:55:24 +01:00
Dariusz L 3af7036551 Support resuming partial downloads and preserve temporary files on network errors 2026-10-25 18:05:29 +01:00
Dariusz L 794083b212 Support clipboard pasting in Metadata tab and resolve Civitai model filenames
- Add paste handler (Ctrl+V) in Metadata tab for workflow JSON, images, and Civitai image URLs/HTML
- Resolve authentic .safetensors filenames and local ComfyUI model paths via Civitai modelVersionId
- Normalize prompt <lora:...> tags to authentic filenames and enrich transfer/loaded chip labels
2026-10-16 22:57:04 +02:00
Dariusz L 7705cfc688 Make metadata inspector sections collapsible and normalize spacing 2026-10-16 18:26:07 +02:00
Dariusz L 4a5b3ae059 Humanize tooltips and guidance text in metadata tab
- Replace robotic AI phrasing and defensive disclaimers in inspector shell, clear button, and copy button tooltips.

- Remove duplicate instructions and streamline prompt and model transfer help tooltips.

- Clarify prompt role hints and incompatible model match descriptions.
2026-10-16 16:58:06 +02:00
Dariusz L 0e053d6601 Align metadata section headers and cards with preview title styling
- Style mr-loaded-models-title with uppercase, 700 weight, 0.075em tracking, and #c3c3c3 color to match missing model column headers.

- Zero nested horizontal padding on inspector headers, model section lists, and copy toolbars so all metadata sections align flush.
2026-10-16 16:47:45 +02:00
Dariusz L 1cdee997d1 Add multi-selection and copying for model chips in Loaded Models and Metadata
- Enable multi-selection on model chips with click, Ctrl+click (toggle/add), Shift+click (range from anchor), and Ctrl+Shift+click.
- Add keyboard shortcuts: Ctrl+C to copy selected model tokens to clipboard with feedback, Ctrl+A to select all visible chips, and Escape to clear selection.
- Add a subtle green outline and background highlight for selected chips (.is-selected).
- Add a 'Selected' mode button to the copy toolbar that dynamically appears when chips are selected and syncs token count and preview text.
- Stop click event propagation on chips and clean up prior selection instances during tab switching and re-rendering to prevent ghost listeners and bubbling conflicts between tabs.
- Add comprehensive Node test suite covering selection operations, keyboard shortcuts, DOM rendering, and tab transitions.
2026-10-16 15:54:46 +02:00
Dariusz L 4fba50b655 Refresh model metadata indexes
Add Flux.3 Klein and Krea base-model aliases, and refresh Hugging Face author and model-list indexes with updated repositories and file metadata.
2026-10-16 15:15:18 +02:00
Dariusz L f5fbf5c542 Add searchable base model path mapping picker 2026-10-05 20:05:19 +02:00
Dariusz L 22f4cbcdee Add configurable download sound and improve cancellation retries 2026-10-05 19:49:23 +02:00
Dariusz L 561b57f2e6 Match metadata separators to missing model preview style 2026-10-05 18:51:41 +02:00
Dariusz L 6a27c52869 Refine metadata section separators 2026-10-05 18:46:45 +02:00
Dariusz L 53a97e8a5b Refresh metadata prompt previews when workflow text changes 2026-10-05 18:27:20 +02:00
Dariusz L 6895aa83a3 Refine image metadata selection styling and action layout 2026-10-05 18:17:34 +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 a1935b89e4 Support linked models from Civitai image URLs with page fallback 2026-10-05 17:41:13 +02:00
Dariusz L 500a5af382 Preserve unsaved options across docking 2026-10-05 16:42:44 +02:00
Dariusz L d1f308a7e6 Update Data 2026-10-05 16:12:45 +02:00
Dariusz L 67b7e4a454 Add copy and resize controls to prompt previews 2026-10-05 16:11:05 +02:00
Dariusz L 3829f95960 Improve image metadata transfer guidance and prompt candidate ordering 2026-09-17 00:48:00 +02:00
Dariusz L 2d6394be5c Add image metadata prompt transfer and keep transfer nodes selectable 2026-09-17 00:05:43 +02:00
Dariusz L 4054be2a04 Prefer HuggingFace direct download URLs and preserve them through selection 2026-09-16 20:14:43 +02:00
Dariusz L dca6bc93fb Improve filename confidence and HuggingFace partial matching
Use order-insensitive token comparison in calculate_filename_confidence
so variant names with reordered tokens (e.g., int8_convrot vs convrot_int8)
score higher. Replace first-match partial matching in HuggingFace source with
best-match selection based on filename confidence, and surface confidence in
search results.
2026-09-16 19:55:09 +02:00
Dariusz L 7fbcd6b6ee Update data 2026-09-16 18:54:11 +02:00
Dariusz L 9c9f2f5482 Show spinner while applying queued model 2026-09-14 15:59:44 +02:00
Dariusz L 5d6ac6c451 Show queue counts on toggle icon 2026-09-14 15:35:38 +02:00
Dariusz L ababf330bc Show metadata transfer apply progress 2026-09-14 15:24:52 +02:00
Dariusz L 248fb3343f Promote missing source groups to compositor layers 2026-09-14 02:12:07 +02:00
Dariusz L bbe9c5485e Prevent metadata transfer UI flicker 2026-09-14 01:42:01 +02:00
Dariusz L aa6c1fdc3d Add metadata transfer undo 2026-09-14 01:25:10 +02:00
Dariusz L baaedb9425 Distinguish active and inactive workflow nodes 2026-09-14 01:01:23 +02:00
Dariusz L 5b86cffe60 Improve metadata action button contrast 2026-09-14 00:58:13 +02:00
Dariusz L b5a2209854 Prevent model tooltip preview flicker 2026-09-14 00:42:48 +02:00
Dariusz L f714c055a6 Flatten metadata transfer panel 2026-09-14 00:32:25 +02:00
Dariusz L 346f93f1d6 Prevent workflow refresh flicker in model tabs 2026-09-14 00:25:07 +02:00
Dariusz L 1672460801 Refresh metadata targets with live workflow changes 2026-09-14 00:13:54 +02:00
Dariusz L 552ef683da Unify metadata workflow cache and category handling 2026-09-13 23:09:22 +02:00
Dariusz L 21245569c7 Fix transfer model actions for unselected nodes 2026-09-13 22:18:10 +02:00
Dariusz L d1812fa46f Add metadata workflow model transfer 2026-09-13 21:38:52 +02:00
Dariusz L 3a106e8d67 feat: add workflow metadata transfer preview 2026-09-13 16:10:58 +02:00
Dariusz L 18ef647c83 Extract Civitai metadata from image EXIF and improve subgraph widget resolution 2026-09-12 18:34:02 +02:00
Dariusz L 74e4b190a9 Add image metadata tab and backend workflow normalization 2026-09-12 16:50:40 +02:00
Dariusz L 50b157e72b Fix publish command invocation
Run node publishing directly through the Comfy CLI without the external environment wrapper, and update the workflow test to prevent regressions.
2026-09-12 13:58:11 +02:00