- 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
- 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
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
- 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
- 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.
- 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.
- 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.
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.
Refactor searchMissingBatch to schedule each source independently via a
per-source promise chain (scheduleSource) instead of processing all targets
in a single serial loop. This keeps source ordering intact while allowing
different sources to advance in parallel across models.
Also update searchOnline to accept scheduleSource and emit a pending UI
state for queued searches, split pending/running source colors in CSS, and
add tests covering independent batch source progression plus error/cancel
survival.