diff --git a/cm-cli.py b/cm-cli.py index e7c68344..52ca8424 100644 --- a/cm-cli.py +++ b/cm-cli.py @@ -1021,7 +1021,17 @@ def save_snapshot( ] = True, ): cmd_ctx.set_user_directory(user_directory) - path = core.save_snapshot_with_postfix('snapshot', output, not full_snapshot) + + if(not output.endswith('.json') and not output.endswith('.yaml')): + print("ERROR: output path should be either '.json' or '.yaml' file.") + raise typer.Exit(code=1) + + dir_path = os.path.dirname(output) + if(dir_path != '' and not os.path.exists(dir_path)): + print(f"ERROR: {output} path not exists.") + raise typer.Exit(code=1) + + path = asyncio.run(core.save_snapshot_with_postfix('snapshot', output, not full_snapshot)) print(f"Current snapshot is saved as `{path}`") diff --git a/glob/manager_core.py b/glob/manager_core.py index 662d1d37..90c913f0 100644 --- a/glob/manager_core.py +++ b/glob/manager_core.py @@ -42,7 +42,7 @@ import manager_downloader from node_package import InstalledNodePackage -version_code = [3, 21] +version_code = [3, 21, 1] version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '') @@ -1619,7 +1619,6 @@ def read_config(): } except Exception: - traceback.print_exc() manager_util.use_uv = False return { 'http_channel_enabled': False, diff --git a/glob/manager_server.py b/glob/manager_server.py index 216f02e4..cffeb4c8 100644 --- a/glob/manager_server.py +++ b/glob/manager_server.py @@ -599,6 +599,7 @@ async def task_worker(): nodepack_result[ui_id] = msg ui_target = "main" elif kind == 'update-comfyui': + nodepack_result['comfyui'] = msg ui_target = "main" else: nodepack_result[ui_id] = msg diff --git a/js/comfyui-manager.js b/js/comfyui-manager.js index ca30f12e..414f726d 100644 --- a/js/comfyui-manager.js +++ b/js/comfyui-manager.js @@ -698,16 +698,24 @@ async function onQueueStatus(event) { return; } + is_updating_all = false; + let success_list = []; let failed_list = []; + let comfyui_state = null; for(let k in event.detail.nodepack_result){ let v = event.detail.nodepack_result[k]; - if(v == 'success') - success_list.push(k); + if(v == 'success') { + if(k == 'comfyui') + comfyui_state = 'success'; + else + success_list.push(k); + } else if(v == 'skip') { - // do nothing + if(k == 'comfyui') + comfyui_state = 'skip'; } else failed_list.push(k); @@ -715,18 +723,31 @@ async function onQueueStatus(event) { let msg = ""; - if(success_list.length == 0) { + if(success_list.length == 0 && comfyui_state != 'success') { if(failed_list.length == 0) { msg += "All custom nodes are already up to date."; } } else { msg = "To apply the updates, you need to ComfyUI.