mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-10-03 08:45:31 -03:00
fix(downloads): route unknown checkpoint baseModels to diffusion models by default
CivitAI labels new DiT architectures (MiniMax H3, future Flux/Wan/Qwen variants) as model.type "Checkpoint" with plain "Model" file entries, so the DIFFUSION_MODEL_BASE_MODELS allowlist could never keep up and such downloads were mis-routed to the checkpoint roots (e.g. model 2877206 / version 3374439). The set of true full-checkpoint families is closed, so the baseModel fallback is inverted: 1. file type UNet/Diffusion Model -> unet (unchanged) 2. baseModel in DIFFUSION_MODEL_BASE_MODELS (now incl. MiniMax H3) -> unet 3. baseModel in new CHECKPOINT_BASE_MODELS (SD 1.x/2.x/3.x, SDXL, Pony, Illustrious, NoobAI) -> checkpoint 4. unknown/empty baseModel -> new unknown_base_model_routing setting, defaulting to diffusion models The setting is exposed under Settings > Downloads, validated in SettingsManager, and threaded into both the download manager and the download routing endpoint so they keep agreeing.
This commit is contained in:
@@ -1300,6 +1300,21 @@ def test_setting_download_skip_base_models_normalizes_string_input(manager):
|
||||
assert manager.get("download_skip_base_models") == ["SDXL 1.0", "Pony"]
|
||||
|
||||
|
||||
def test_unknown_base_model_routing_defaults_to_diffusion_model(manager):
|
||||
assert manager.get("unknown_base_model_routing") == "diffusion_model"
|
||||
|
||||
|
||||
def test_unknown_base_model_routing_is_normalized(manager):
|
||||
manager.set("unknown_base_model_routing", "CHECKPOINT")
|
||||
assert manager.get("unknown_base_model_routing") == "checkpoint"
|
||||
|
||||
manager.set("unknown_base_model_routing", "bogus")
|
||||
assert manager.get("unknown_base_model_routing") == "diffusion_model"
|
||||
|
||||
manager.set("unknown_base_model_routing", None)
|
||||
assert manager.get("unknown_base_model_routing") == "diffusion_model"
|
||||
|
||||
|
||||
def test_skip_previously_downloaded_model_versions_defaults_false(manager):
|
||||
assert manager.get_skip_previously_downloaded_model_versions() is False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user