Compare commits

...

2 Commits

Author SHA1 Message Date
Dr.Lt.Data
3b0709f5f2 improved: cm-cli.py save-snapshot - validate output path
fixed: Update all - Properly display the results of the ComfyUI update.
fixed: Update all - An issue where the action results of the custom nodes manager were reflected in the main dialog.

https://github.com/ltdrdata/ComfyUI-Manager/issues/1548
2025-02-15 09:23:04 +09:00
Dr.Lt.Data
d7af7e2917 update DB 2025-02-14 07:43:16 +09:00
10 changed files with 67 additions and 94 deletions

View File

@@ -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}`")

View File

@@ -8745,7 +8745,7 @@
"https://github.com/olduvai-jp/ComfyUI-HfLoader"
],
"install_type": "git-clone",
"description": "Nodes:Lora Loader From HF"
"description": "A simple and easy to use Hugging Face model loader."
},
{
"author": "AiMiDi",

View File

@@ -11648,10 +11648,11 @@
],
"https://github.com/austinbrown34/ComfyUI-IO-Helpers": [
[
"Encoded Prompt from File",
"Encoded Prompt to File",
"Sampled Latents from File",
"Sampled Latents to File"
"EncodedPromptFromFile",
"EncodedPromptToFile",
"IO_LoadImage",
"SampledLatentsFromFile",
"SampledLatentsToFile"
],
{
"title_aux": "ComfyUI-IO-Helpers"
@@ -17554,12 +17555,11 @@
"BiRefNet",
"ControlImagePreprocessor",
"ControlNetModelLoader",
"DiffusersMVModelMakeup",
"DiffusersMVPipelineLoader",
"DiffusersMVSampler",
"DiffusersModelMakeup",
"DiffusersPipelineLoader",
"DiffusersSampler",
"DiffusersSchedulerLoader",
"DiffusersVaeLoader",
"DiffusersMVSchedulerLoader",
"DiffusersMVVaeLoader",
"ImagePreprocessor",
"LdmPipelineLoader",
"LdmVaeLoader",
@@ -21757,6 +21757,7 @@
],
"https://github.com/lum3on/comfyui_LLM_Polymath": [
[
"SaveAbsolute",
"polymath_chat",
"polymath_scraper"
],
@@ -23286,6 +23287,7 @@
],
"https://github.com/olduvai-jp/ComfyUI-HfLoader": [
[
"ControlNet Loader From HF",
"Lora Loader From HF"
],
{

View File

@@ -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,

View File

@@ -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

View File

@@ -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 <button class='cm-small-button' id='cm-reboot-button5'>RESTART</button> ComfyUI.<hr>";
msg += "The following custom nodes have been updated:<ul>";
for(let x in success_list) {
msg += '<li>'+success_list[x]+'</li>';
if(comfyui_state == 'success') {
msg += "ComfyUI is updated.<BR><BR>";
}
else if(comfyui_state == 'skip') {
msg += "ComfyUI is already up-to-date.<BR><BR>"
}
if(success_list.length > 0) {
msg += "The following custom nodes have been updated:<ul>";
for(let x in success_list) {
if(success_list[x] == 'comfyui')
continue;
msg += '<li>'+success_list[x]+'</li>';
}
msg += "</ul>";
}
msg += "</ul>";
setNeedRestart(true);
}

View File

@@ -4028,6 +4028,7 @@
],
"https://github.com/lum3on/comfyui_LLM_Polymath": [
[
"SaveAbsolute",
"polymath_chat",
"polymath_scraper"
],

View File

@@ -693,69 +693,6 @@
],
"install_type": "git-clone",
"description": "This is a custom node for ComfyUI.\nIt reduces colors based on a specified number and allows for adjustments to hue, saturation, and brightness.\nFeatures:Each parameter can be set to random, You can toggle masking (not changing colors) using color numbers, Mask inversion can also be toggled on or off."
},
{
"author": "852wa",
"title": "ComfyUI-AdvancedAlphaProcessor",
"reference": "https://github.com/852wa/ComfyUI-AAP",
"files": [
"https://github.com/852wa/ComfyUI-AAP"
],
"install_type": "git-clone",
"description": "This is a custom node for ComfyUI.\nFeatures:Removes white areas in the input image by making them transparent based on brightness, Outputs in black and transparent, Outputs in gray and transparent.\nThis is a simple node with the above functionalities implemented. It also supports sequential processing."
},
{
"author": "jinanlongen",
"title": "ComfyUI Prompt Expander Node",
"reference": "https://github.com/jinanlongen/ComfyUI-Prompt-Expander",
"files": [
"https://github.com/jinanlongen/ComfyUI-Prompt-Expander"
],
"install_type": "git-clone",
"description": "A custom node for ComfyUI that expands text prompts using the SuperPrompt-v1 T5 model. This node helps generate more detailed and descriptive prompts from simple input text, which can be particularly useful for image generation workflows."
},
{
"author": "Style-Mosaic",
"title": "ComfyUI DINO-X Detector Node",
"reference": "https://github.com/Style-Mosaic/dino-x-comfyui-node",
"files": [
"https://github.com/Style-Mosaic/dino-x-comfyui-node"
],
"install_type": "git-clone",
"description": "A ComfyUI node that integrates DINO-X API for object detection and segmentation. This node allows you to detect and segment objects in images using text prompts."
},
{
"author": "gmorks",
"title": "ComfyUI-SendToDiscord",
"reference": "https://github.com/gmorks/ComfyUI-SendToDiscord",
"files": [
"https://github.com/gmorks/ComfyUI-SendToDiscord"
],
"install_type": "git-clone",
"description": "ComfyUI-SendToDiscord is a custom node for ComfyUI that simplifies sending preview images to Discord via webhooks. It supports both single-image uploads and batch mode, making it an efficient tool for sharing your generated images directly with your Discord server."
},
{
"author": "CY-CHENYUE",
"title": "ComfyUI-Janus-Pro",
"id": "ComfyUI-Janus-Pro",
"reference": "https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro",
"files": [
"https://github.com/CY-CHENYUE/ComfyUI-Janus-Pro"
],
"description": "ComfyUI nodes for Janus-Pro, a unified multimodal understanding and generation framework.",
"install_type": "git-clone"
},
{
"author": "burnsbert",
"title": "EBU LMStudio LLM Integration",
"id": "ebu-lmstudio",
"reference": "https://github.com/burnsbert/ComfyUI-EBU-LMStudio",
"files": [
"https://github.com/burnsbert/ComfyUI-EBU-LMStudio"
],
"install_type": "git-clone",
"description": "Custom nodes for integrating LM Studio's LLM functionality into ComfyUI. Includes EBU-LMStudio-Load, EBU-LMStudio-Unload, and EBU-LMStudio-Request."
}
]
}

View File

@@ -11648,10 +11648,11 @@
],
"https://github.com/austinbrown34/ComfyUI-IO-Helpers": [
[
"Encoded Prompt from File",
"Encoded Prompt to File",
"Sampled Latents from File",
"Sampled Latents to File"
"EncodedPromptFromFile",
"EncodedPromptToFile",
"IO_LoadImage",
"SampledLatentsFromFile",
"SampledLatentsToFile"
],
{
"title_aux": "ComfyUI-IO-Helpers"
@@ -17554,12 +17555,11 @@
"BiRefNet",
"ControlImagePreprocessor",
"ControlNetModelLoader",
"DiffusersMVModelMakeup",
"DiffusersMVPipelineLoader",
"DiffusersMVSampler",
"DiffusersModelMakeup",
"DiffusersPipelineLoader",
"DiffusersSampler",
"DiffusersSchedulerLoader",
"DiffusersVaeLoader",
"DiffusersMVSchedulerLoader",
"DiffusersMVVaeLoader",
"ImagePreprocessor",
"LdmPipelineLoader",
"LdmVaeLoader",
@@ -21757,6 +21757,7 @@
],
"https://github.com/lum3on/comfyui_LLM_Polymath": [
[
"SaveAbsolute",
"polymath_chat",
"polymath_scraper"
],
@@ -23286,6 +23287,7 @@
],
"https://github.com/olduvai-jp/ComfyUI-HfLoader": [
[
"ControlNet Loader From HF",
"Lora Loader From HF"
],
{

View File

@@ -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.21"
version = "3.21.1"
license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]