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",
"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",
"title": "Image2Halftone Node for ComfyUI",

View File

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

View File

@ -2,6 +2,7 @@ import subprocess
import sys
import os
import traceback
import time
import git
import json
@ -219,7 +220,14 @@ def gitpull(path):
repo.close()
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')
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
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 '')
@ -2253,9 +2253,17 @@ def git_pull(path):
current_branch = repo.active_branch
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.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():
errors.append(f"Field '{field}' is empty")
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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

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.38.1"
version = "3.38.2"
license = { file = "LICENSE.txt" }
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
metadata = extract_metadata_only(str(py_file))
all_metadata.update(metadata)
except Exception as e:
except Exception:
# Silently skip files that can't be read
continue