From 21b6c6569c3cf3ba6f06d4aae033d64c725aa864 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sun, 2 Feb 2025 18:36:04 +0900 Subject: [PATCH] feat: show restart confirm window when reconnected fixed: `uv` related crash --- glob/manager_core.py | 4 ++-- js/custom-nodes-manager.js | 16 ++++++++++++++++ pyproject.toml | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/glob/manager_core.py b/glob/manager_core.py index 1f73718e..339d6ab2 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, 17] +version_code = [3, 17, 1] version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '') @@ -2432,7 +2432,7 @@ def check_state_of_git_node_pack_single(item, do_fetch=False, do_update_check=Tr def get_installed_pip_packages(): # extract pip package infos - cmd = manager_util.make_pip_cmd(['pip', 'freeze']) + cmd = manager_util.make_pip_cmd(['freeze']) pips = subprocess.check_output(cmd, text=True).split('\n') res = {} diff --git a/js/custom-nodes-manager.js b/js/custom-nodes-manager.js index d391bf02..dec7f224 100644 --- a/js/custom-nodes-manager.js +++ b/js/custom-nodes-manager.js @@ -400,6 +400,7 @@ export class CustomNodesManager { this.init(); api.addEventListener("cm-queue-status", this.onQueueStatus); + api.addEventListener('reconnected', this.onReconnected); } init() { @@ -1406,6 +1407,20 @@ export class CustomNodesManager { } } + async onReconnected(event) { + let self = CustomNodesManager.instance; + if(self.need_restart) { + self.need_restart = false; + + const confirmed = await customConfirm("To apply the changes to the node pack's installation status, you need to refresh the browser. Would you like to refresh?"); + if (!confirmed) { + return; + } + + window.location.reload(true); + } + } + async onQueueStatus(event) { let self = CustomNodesManager.instance; if(event.detail.status == 'in_progress' && event.detail.ui_target == 'nodepack_manager') { @@ -1879,6 +1894,7 @@ export class CustomNodesManager { showRestart() { this.element.querySelector(".cn-manager-restart").style.display = "block"; + this.need_restart = true; } showStop() { diff --git a/pyproject.toml b/pyproject.toml index 3ab7ffc2..a9e7e9e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui-manager" description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI." -version = "3.17" +version = "3.17.1" license = { file = "LICENSE.txt" } dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]