Merge pull request #51 from ComfyAssets/bug/size-fix

Bug/size fix
This commit is contained in:
Vito
2025-09-09 09:32:19 -07:00
committed by GitHub
3 changed files with 33 additions and 7 deletions
+16 -3
View File
@@ -485,11 +485,24 @@ class PromptManager(ComfyNodeABC):
self.cleanup_gallery_system()
@classmethod
def IS_CHANGED(cls, **kwargs):
def IS_CHANGED(cls, text="", category="", tags="", search_text="",
prepend_text="", append_text="", **kwargs):
"""
ComfyUI method to determine if node needs re-execution.
This method now properly tracks input changes to avoid unnecessary
re-execution while still ensuring prompts are saved when inputs change.
Returns:
NaN to force re-execution, ensuring prompts are always saved to database
A hash of the input values that changes when any input changes
"""
return float("NaN") # Always execute
# Create a hash of all the text inputs that affect the output
# This ensures the node only re-executes when inputs actually change
import hashlib
# Combine all text inputs that affect the conditioning output
combined = f"{text}|{category}|{tags}|{prepend_text}|{append_text}"
# Return a hash that will change when inputs change
# Note: We don't include search_text as it doesn't affect the output conditioning
return hashlib.sha256(combined.encode()).hexdigest()
+16 -3
View File
@@ -456,11 +456,24 @@ class PromptManagerText(ComfyNodeABC):
self.cleanup_gallery_system()
@classmethod
def IS_CHANGED(cls, **kwargs):
def IS_CHANGED(cls, text="", category="", tags="", search_text="",
prepend_text="", append_text="", **kwargs):
"""
ComfyUI method to determine if node needs re-execution.
This method now properly tracks input changes to avoid unnecessary
re-execution while still ensuring prompts are saved when inputs change.
Returns:
NaN to force re-execution, ensuring prompts are always saved to database
A hash of the input values that changes when any input changes
"""
return float("NaN") # Always execute
# Create a hash of all the text inputs that affect the output
# This ensures the node only re-executes when inputs actually change
import hashlib
# Combine all text inputs that affect the output
combined = f"{text}|{category}|{tags}|{prepend_text}|{append_text}"
# Return a hash that will change when inputs change
# Note: We don't include search_text as it doesn't affect the output
return hashlib.sha256(combined.encode()).hexdigest()
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "promptmanager"
description = "A powerful ComfyUI custom node that extends the standard text encoder with persistent prompt storage, advanced search capabilities, and an automatic image gallery system using SQLite."
version = "3.0.20"
version = "3.0.21"
license = {file = "LICENSE"}
dependencies = ["# Core dependencies for PromptManager", "# Note: Most dependencies are already included with ComfyUI", "# Already included with Python standard library:", "# - sqlite3", "# - hashlib", "# - json", "# - datetime", "# - os", "# - typing", "# - threading", "# - uuid", "# Required for gallery functionality:", "watchdog>=2.1.0 # For file system monitoring", "Pillow>=8.0.0 # For image metadata extraction (usually included with ComfyUI)", "# Optional dependencies for enhanced search functionality:", "# fuzzywuzzy[speedup]>=0.18.0 # For fuzzy string matching (optional)", "# sqlalchemy>=1.4.0 # For advanced ORM features (optional)", "# Development dependencies (optional):", "# pytest>=6.0.0 # For running tests", "# black>=22.0.0 # For code formatting", "# flake8>=4.0.0 # For linting", "# mypy>=0.910 # For type checking"]