Compare commits

...

9 Commits

Author SHA1 Message Date
Ewald
65d3eb78f2
Merge 032332368a into e4c370a7d9 2025-12-11 19:30:24 -08:00
Dr.Lt.Data
e4c370a7d9 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-12 12:29:09 +09:00
Dr.Lt.Data
891005bcd3 fix(git): handle divergent branches safely during pull
- Use --ff-only flag to detect non-fast-forward situations
- Create backup branch before resetting divergent local branch
- Reset to remote branch when fast-forward is not possible
- Use time.strftime() instead of datetime for better compatibility
- Bump version to 3.38.2
2025-12-12 12:22:42 +09:00
Dr.Lt.Data
d3a4a7a0fa ruff fix 2025-12-12 12:11:52 +09:00
Dr.Lt.Data
032332368a
Update custom-node-list.json 2025-12-12 04:51:47 +09:00
Ewald
1b670e81fd
Add 'id' field to Majoor Assets Manager entry 2025-12-10 17:37:32 +01:00
Ewald
44bcc8589c
Fix typos in Majoor Assets Manager entry 2025-12-10 14:38:33 +01:00
Ewald
4803491e37
Rename and update Majoor File Manager to Asset Manager 2025-12-10 12:13:10 +01:00
Ewald
ca3d157667
Add Majoor File Manager node to custom-node-list
Added a new node for Majoor File Manager with relevant details.
2025-12-09 20:17:46 +01:00
12 changed files with 5209 additions and 5016 deletions

View File

@ -38812,6 +38812,18 @@
"install_type": "unzip", "install_type": "unzip",
"description": "Various image processing nodes." "description": "Various image processing nodes."
}, },
{
"author": "MajoorWaldi",
"title": "Majoor Assets Manager",
"id": "ComfyUI-Majoor-AssetsManager",
"reference": "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager",
"files": [
"https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager"
],
"install_type": "git-clone",
"description": "An advanced Assets manager for ComfyUI outputs with gallery, metadata inspection, ratings, and tags.",
"tags": ["Assets manager", "gallery", "metadata", "workflow", "utility"]
},
{ {
"author": "aimingfail", "author": "aimingfail",
"title": "Image2Halftone Node for ComfyUI", "title": "Image2Halftone Node for ComfyUI",

View File

@ -238,7 +238,8 @@
], ],
"https://github.com/1038lab/ComfyUI-VoxCPMTTS": [ "https://github.com/1038lab/ComfyUI-VoxCPMTTS": [
[ [
"AILab_VoxCPMTTS" "AILab_VoxCPMTTS",
"AILab_VoxCPMTTS_Advanced"
], ],
{ {
"title_aux": "ComfyUI-VoxCPMTTS" "title_aux": "ComfyUI-VoxCPMTTS"
@ -16319,6 +16320,7 @@
"BboxSplit", "BboxSplit",
"Cascade", "Cascade",
"ImageFilters", "ImageFilters",
"LMS_VisionController",
"Luts", "Luts",
"LutsAdvanced", "LutsAdvanced",
"RemoveAreaByMask", "RemoveAreaByMask",
@ -16696,6 +16698,9 @@
"https://github.com/ShootTheSound/comfyUI-Realtime-Lora": [ "https://github.com/ShootTheSound/comfyUI-Realtime-Lora": [
[ [
"ApplyTrainedLora", "ApplyTrainedLora",
"MusubiQwenImageEditLoraTrainer",
"MusubiQwenImageLoraTrainer",
"MusubiWanLoraTrainer",
"MusubiZImageLoraTrainer", "MusubiZImageLoraTrainer",
"RealtimeLoraTrainer", "RealtimeLoraTrainer",
"SD15LoraTrainer", "SD15LoraTrainer",
@ -22625,13 +22630,21 @@
"HSVAdjuster", "HSVAdjuster",
"HeightAmplifier", "HeightAmplifier",
"HeightCombiner", "HeightCombiner",
"HeightToNormal",
"ImageBitDepthChecker", "ImageBitDepthChecker",
"ImageEnhancement", "ImageEnhancement",
"LevelsAdjustment", "LevelsAdjustment",
"LotusHeightProcessor", "LotusHeightProcessor",
"LotusNormalProcessor",
"MicroDetailOverlay", "MicroDetailOverlay",
"MultiTextureBlender", "MultiTextureBlender",
"NormalConverter",
"NormalFormatAuto",
"NormalFormatBruteForce",
"NormalFormatValidator",
"NormalIntensity",
"NormalMapCombiner", "NormalMapCombiner",
"NormalToDepth",
"PBRAdjuster", "PBRAdjuster",
"PBRBatchToPipe", "PBRBatchToPipe",
"PBRCombiner", "PBRCombiner",
@ -22651,6 +22664,8 @@
"SSSMapGenerator", "SSSMapGenerator",
"ScratchesGenerator", "ScratchesGenerator",
"SeamlessTiling", "SeamlessTiling",
"SharpenDepth",
"SharpenNormal",
"SimpleRecolor", "SimpleRecolor",
"SmartBlur", "SmartBlur",
"SmartTextureResizer", "SmartTextureResizer",
@ -50270,6 +50285,7 @@
"vsLinx_BooleanOrOperator", "vsLinx_BooleanOrOperator",
"vsLinx_BypassOnBool", "vsLinx_BypassOnBool",
"vsLinx_FitImageIntoBBoxMask", "vsLinx_FitImageIntoBBoxMask",
"vsLinx_ImpactMultilineWildcardText",
"vsLinx_LoadSelectedImagesBatch", "vsLinx_LoadSelectedImagesBatch",
"vsLinx_LoadSelectedImagesList", "vsLinx_LoadSelectedImagesList",
"vsLinx_MuteOnBool" "vsLinx_MuteOnBool"

View File

@ -2,6 +2,7 @@ import subprocess
import sys import sys
import os import os
import traceback import traceback
import time
import git import git
import json import json
@ -219,7 +220,14 @@ def gitpull(path):
repo.close() repo.close()
return return
remote.pull() try:
repo.git.pull('--ff-only')
except git.GitCommandError:
backup_name = f'backup_{time.strftime("%Y%m%d_%H%M%S")}'
repo.create_head(backup_name)
print(f"[ComfyUI-Manager] Cannot fast-forward. Backup created: {backup_name}")
repo.git.reset('--hard', f'{remote_name}/{branch_name}')
print(f"[ComfyUI-Manager] Reset to {remote_name}/{branch_name}")
repo.git.submodule('update', '--init', '--recursive') repo.git.submodule('update', '--init', '--recursive')
new_commit_hash = repo.head.commit.hexsha new_commit_hash = repo.head.commit.hexsha

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -44,7 +44,7 @@ import manager_migration
from node_package import InstalledNodePackage from node_package import InstalledNodePackage
version_code = [3, 38, 1] version_code = [3, 38, 2]
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '') version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
@ -2253,9 +2253,17 @@ def git_pull(path):
current_branch = repo.active_branch current_branch = repo.active_branch
remote_name = current_branch.tracking_branch().remote_name remote_name = current_branch.tracking_branch().remote_name
remote = repo.remote(name=remote_name)
remote.pull() try:
repo.git.pull('--ff-only')
except git.GitCommandError:
branch_name = current_branch.name
backup_name = f'backup_{time.strftime("%Y%m%d_%H%M%S")}'
repo.create_head(backup_name)
logging.info(f"[ComfyUI-Manager] Cannot fast-forward. Backup created: {backup_name}")
repo.git.reset('--hard', f'{remote_name}/{branch_name}')
logging.info(f"[ComfyUI-Manager] Reset to {remote_name}/{branch_name}")
repo.git.submodule('update', '--init', '--recursive') repo.git.submodule('update', '--init', '--recursive')
repo.close() repo.close()

View File

@ -82,7 +82,7 @@ def validate_required_fields(entry: Dict, entry_index: int, required_fields: Lis
elif isinstance(entry[field], str) and not entry[field].strip(): elif isinstance(entry[field], str) and not entry[field].strip():
errors.append(f"Field '{field}' is empty") errors.append(f"Field '{field}' is empty")
elif field == 'files' and not entry[field]: # Empty array elif field == 'files' and not entry[field]: # Empty array
errors.append(f"Field 'files' is empty array") errors.append("Field 'files' is empty array")
return errors return errors

View File

@ -9000,6 +9000,9 @@
"AudioResampler", "AudioResampler",
"CollectKeyedVideosNode", "CollectKeyedVideosNode",
"CollectVideosNode", "CollectVideosNode",
"ConformAudio",
"ConformVideo",
"ExtendVideoNearestFrame",
"ImageDelay", "ImageDelay",
"IntToString", "IntToString",
"KlingVideoHandler", "KlingVideoHandler",
@ -9010,7 +9013,6 @@
"StringSplitSelect", "StringSplitSelect",
"Unbroken-Video-Handler", "Unbroken-Video-Handler",
"VideoHandler", "VideoHandler",
"VideoSanitizer",
"WorkflowLoggerNode" "WorkflowLoggerNode"
], ],
{ {

File diff suppressed because it is too large Load Diff

View File

@ -238,7 +238,8 @@
], ],
"https://github.com/1038lab/ComfyUI-VoxCPMTTS": [ "https://github.com/1038lab/ComfyUI-VoxCPMTTS": [
[ [
"AILab_VoxCPMTTS" "AILab_VoxCPMTTS",
"AILab_VoxCPMTTS_Advanced"
], ],
{ {
"title_aux": "ComfyUI-VoxCPMTTS" "title_aux": "ComfyUI-VoxCPMTTS"
@ -16319,6 +16320,7 @@
"BboxSplit", "BboxSplit",
"Cascade", "Cascade",
"ImageFilters", "ImageFilters",
"LMS_VisionController",
"Luts", "Luts",
"LutsAdvanced", "LutsAdvanced",
"RemoveAreaByMask", "RemoveAreaByMask",
@ -16696,6 +16698,9 @@
"https://github.com/ShootTheSound/comfyUI-Realtime-Lora": [ "https://github.com/ShootTheSound/comfyUI-Realtime-Lora": [
[ [
"ApplyTrainedLora", "ApplyTrainedLora",
"MusubiQwenImageEditLoraTrainer",
"MusubiQwenImageLoraTrainer",
"MusubiWanLoraTrainer",
"MusubiZImageLoraTrainer", "MusubiZImageLoraTrainer",
"RealtimeLoraTrainer", "RealtimeLoraTrainer",
"SD15LoraTrainer", "SD15LoraTrainer",
@ -22625,13 +22630,21 @@
"HSVAdjuster", "HSVAdjuster",
"HeightAmplifier", "HeightAmplifier",
"HeightCombiner", "HeightCombiner",
"HeightToNormal",
"ImageBitDepthChecker", "ImageBitDepthChecker",
"ImageEnhancement", "ImageEnhancement",
"LevelsAdjustment", "LevelsAdjustment",
"LotusHeightProcessor", "LotusHeightProcessor",
"LotusNormalProcessor",
"MicroDetailOverlay", "MicroDetailOverlay",
"MultiTextureBlender", "MultiTextureBlender",
"NormalConverter",
"NormalFormatAuto",
"NormalFormatBruteForce",
"NormalFormatValidator",
"NormalIntensity",
"NormalMapCombiner", "NormalMapCombiner",
"NormalToDepth",
"PBRAdjuster", "PBRAdjuster",
"PBRBatchToPipe", "PBRBatchToPipe",
"PBRCombiner", "PBRCombiner",
@ -22651,6 +22664,8 @@
"SSSMapGenerator", "SSSMapGenerator",
"ScratchesGenerator", "ScratchesGenerator",
"SeamlessTiling", "SeamlessTiling",
"SharpenDepth",
"SharpenNormal",
"SimpleRecolor", "SimpleRecolor",
"SmartBlur", "SmartBlur",
"SmartTextureResizer", "SmartTextureResizer",
@ -50270,6 +50285,7 @@
"vsLinx_BooleanOrOperator", "vsLinx_BooleanOrOperator",
"vsLinx_BypassOnBool", "vsLinx_BypassOnBool",
"vsLinx_FitImageIntoBBoxMask", "vsLinx_FitImageIntoBBoxMask",
"vsLinx_ImpactMultilineWildcardText",
"vsLinx_LoadSelectedImagesBatch", "vsLinx_LoadSelectedImagesBatch",
"vsLinx_LoadSelectedImagesList", "vsLinx_LoadSelectedImagesList",
"vsLinx_MuteOnBool" "vsLinx_MuteOnBool"

View File

@ -1,7 +1,7 @@
[project] [project]
name = "comfyui-manager" 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." description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
version = "3.38.1" version = "3.38.2"
license = { file = "LICENSE.txt" } license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-nio", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions", "toml", "uv", "chardet"] dependencies = ["GitPython", "PyGithub", "matrix-nio", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions", "toml", "uv", "chardet"]

View File

@ -377,7 +377,7 @@ def extract_nodes_from_repo(repo_path: Path, verbose: bool = False, force_rescan
# Extract metadata from this file # Extract metadata from this file
metadata = extract_metadata_only(str(py_file)) metadata = extract_metadata_only(str(py_file))
all_metadata.update(metadata) all_metadata.update(metadata)
except Exception as e: except Exception:
# Silently skip files that can't be read # Silently skip files that can't be read
continue continue