From 294244b99fc3350d5f0de56585051e4fca063b1a Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Wed, 30 Oct 2024 03:46:59 +0900 Subject: [PATCH] terminal feature is removed. Now ComfyUI provides built-in terminal feature. https://github.com/comfyanonymous/ComfyUI/pull/5413 --- README.md | 1 - glob/manager_core.py | 2 +- glob/manager_server.py | 28 +------------- js/terminal.js | 83 ------------------------------------------ prestartup_script.py | 32 ---------------- pyproject.toml | 2 +- 6 files changed, 3 insertions(+), 145 deletions(-) delete mode 100644 js/terminal.js diff --git a/README.md b/README.md index 2c01c6c7..44d82fa7 100644 --- a/README.md +++ b/README.md @@ -363,7 +363,6 @@ When you run the `scan.sh` script: * `high` level risky features * `Install via git url`, `pip install` * Installation of custom nodes registered not in the `default channel`. - * Display terminal log * Fix custom nodes * `middle` level risky features diff --git a/glob/manager_core.py b/glob/manager_core.py index 6eaa6a8c..3992c36b 100644 --- a/glob/manager_core.py +++ b/glob/manager_core.py @@ -23,7 +23,7 @@ sys.path.append(glob_path) import cm_global from manager_util import * -version = [2, 51, 8] +version = [2, 51, 9] version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '') diff --git a/glob/manager_server.py b/glob/manager_server.py index 16144944..f813ced6 100644 --- a/glob/manager_server.py +++ b/glob/manager_server.py @@ -1070,32 +1070,6 @@ async def install_model(request): return web.Response(status=400) -class ManagerTerminalHook: - def write_stderr(self, msg): - PromptServer.instance.send_sync("manager-terminal-feedback", {"data": msg}) - - def write_stdout(self, msg): - PromptServer.instance.send_sync("manager-terminal-feedback", {"data": msg}) - - -manager_terminal_hook = ManagerTerminalHook() - - -@PromptServer.instance.routes.get("/manager/terminal") -async def terminal_mode(request): - if not is_allowed_security_level('high'): - print(SECURITY_MESSAGE_NORMAL_MINUS) - return web.Response(status=403) - - if "mode" in request.rel_url.query: - if request.rel_url.query['mode'] == 'true': - sys.__comfyui_manager_terminal_hook.add_hook('cm', manager_terminal_hook) - else: - sys.__comfyui_manager_terminal_hook.remove_hook('cm') - - return web.Response(status=200) - - @PromptServer.instance.routes.get("/manager/preview_method") async def preview_method(request): if "value" in request.rel_url.query: @@ -1372,6 +1346,6 @@ if not os.path.exists(core.config_path): cm_global.register_extension('ComfyUI-Manager', {'version': core.version, 'name': 'ComfyUI Manager', - 'nodes': {'Terminal Log //CM'}, + 'nodes': {}, 'description': 'It provides the ability to manage custom nodes in ComfyUI.', }) diff --git a/js/terminal.js b/js/terminal.js deleted file mode 100644 index 5e8bd734..00000000 --- a/js/terminal.js +++ /dev/null @@ -1,83 +0,0 @@ -import {app} from "../../scripts/app.js"; -import {ComfyWidgets} from "../../scripts/widgets.js"; -// Node that add notes to your project - -let terminal_node; -let log_mode = false; - -app.registerExtension({ - name: "Comfy.Manager.Terminal", - - registerCustomNodes() { - class TerminalNode extends LiteGraph.LGraphNode { - color = "#222222"; - bgcolor = "#000000"; - groupcolor = LGraphCanvas.node_colors.black.groupcolor; - constructor() { - super(); - this.title = "Terminal Log (Manager)"; - this.logs = []; - - if (!this.properties) { - this.properties = {}; - this.properties.text=""; - } - - ComfyWidgets.STRING(this, "", ["", {default:this.properties.text, multiline: true}], app) - ComfyWidgets.BOOLEAN(this, "mode", ["", {default:true, label_on:'Logging', label_off:'Stop'}], app) - ComfyWidgets.INT(this, "lines", ["", {default:500, min:10, max:10000, steps:1}], app) - - let self = this; - Object.defineProperty(this.widgets[1], 'value', { - set: (v) => { - api.fetchApi(`/manager/terminal?mode=${v}`, {}); - log_mode = v; - }, - get: () => { - return log_mode; - } - }); - - this.serialize_widgets = false; - this.isVirtualNode = true; - - if(terminal_node) { - try { - terminal_node.widgets[0].value = 'The output of this node is disabled because another terminal node has appeared.'; - } - catch {} - } - terminal_node = this; - } - } - - // Load default visibility - LiteGraph.registerNodeType( - "Terminal Log", - Object.assign(TerminalNode, { - title_mode: LiteGraph.NORMAL_TITLE, - title: "Terminal Log (Manager)", - collapsable: true, - }) - ); - - TerminalNode.category = "utils"; - }, -}); - - -import { api } from "../../scripts/api.js"; - -function terminalFeedback(event) { - if(terminal_node) { - terminal_node.logs.push(event.detail.data); - if(terminal_node.logs.length > terminal_node.widgets[2].value) { - terminal_node.logs.shift(); - if(terminal_node.logs[0] == '' || terminal_node.logs[0] == '\n') - terminal_node.logs.shift(); - } - terminal_node.widgets[0].value = [...terminal_node.logs].reverse().join('').trim(); - } -} - -api.addEventListener("manager-terminal-feedback", terminalFeedback); diff --git a/prestartup_script.py b/prestartup_script.py index 612b65f7..f4c6dc3f 100644 --- a/prestartup_script.py +++ b/prestartup_script.py @@ -98,36 +98,6 @@ def remap_pip_package(pkg): std_log_lock = threading.Lock() -class TerminalHook: - def __init__(self): - self.hooks = {} - - def add_hook(self, k, v): - self.hooks[k] = v - - def remove_hook(self, k): - if k in self.hooks: - del self.hooks[k] - - def write_stderr(self, msg): - for v in self.hooks.values(): - try: - v.write_stderr(msg) - except Exception: - pass - - def write_stdout(self, msg): - for v in self.hooks.values(): - try: - v.write_stdout(msg) - except Exception: - pass - - -terminal_hook = TerminalHook() -sys.__comfyui_manager_terminal_hook = terminal_hook - - def handle_stream(stream, prefix): stream.reconfigure(encoding=locale.getpreferredencoding(), errors='replace') for msg in stream: @@ -270,11 +240,9 @@ try: if self.is_stdout: write_stdout(message) original_stdout.flush() - terminal_hook.write_stderr(message) else: write_stderr(message) original_stderr.flush() - terminal_hook.write_stdout(message) def flush(self): log_file.flush() diff --git a/pyproject.toml b/pyproject.toml index 60606e7d..611f07ba 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 = "2.51.8" +version = "2.51.9" license = { file = "LICENSE.txt" } dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]