refactor(__init__.py, debug_civitai.py): update import error handling to use logger for warnings and errors instead of print statements
feat(tests): replace print statements with logger calls for better logging in media selection tests
feat(install): integrate logging for installation process in install.py
feat(cache): implement logging for cache operations in cache.py
refactor(debug_utils): enhance debug_print function to use a dedicated logger for consistent debug output
feat(helper_nodes.py, lora_hash_cache.py): integrate logging functionality to replace print statements with logger calls for better debugging and monitoring
chore(lora_manager): remove deprecated LoRA Manager files as they are no longer needed in the project
chore(file_api.py): remove deprecated file API implementation to streamline codebase and reduce maintenance overhead
chore(lora_utils.py): remove unused LoRA utility functions to clean up the codebase and improve maintainability
chore(nd_super_lora_node.py): remove nd_super_lora_node.py file as it is no longer needed in the project
chore(template_manager.py): remove the template management system as it is no longer needed in the project
chore(version_utils.py): remove version utility file as it is no longer needed in the project
chore(web_api.py): remove deprecated web API endpoints for ND Super Nodes to clean up the codebase and improve maintainability
refactor(media_describe.py): replace print statements with logger calls for better logging management and consistency
refactor(media_describe.py): replace print statements with logger calls to standardize logging and improve maintainability
feat(logging): integrate logging functionality into nodes.py and restart_api.py for better debugging and monitoring
- Initialize logging in both files to replace print statements with logger calls.
- Use logger to capture debug and info messages for improved traceability.
docs(LLM_STUDIO_VIDEO_DESCRIBE.md): add notes on logging behavior and environment variable respect for debug settings
refactor(media_describe): replace print statements with logger calls for better log management and consistency
docs: remove edge_threshold parameter from example workflow to align with new automatic edge thresholding feature
docs(README): simplify and condense VACE Annotator Scribble documentation for clarity and ease of use
docs: add help-page style documentation for VACEScribbleAnnotator node to improve user guidance and usability
feat(annotator_models): add ContourInference and VendorResidualBlock classes for enhanced model architecture
feat(annotator_models): implement postprocess_vendor_scribble_output function for vendor-specific output processing
fix(annotator_models): update load_scribble_model to handle vendor state dicts and improve model loading logic
refactor(preprocess_scribble_input): add normalize_mode parameter for flexible input normalization options
fix(_quantile_threshold): improve scale handling for user-defined thresholds in quantile calculations
refactor(vace_scribble_annotator.py): remove edge_threshold parameter and use a default constant for edge detection to simplify the code
feat(vace_scribble_annotator.py): add support for vendor-specific postprocessing of scribble output to enhance functionality
- Introduced vendoring for the VACE scribble generator to allow usage without the full upstream repository.
- Added `VENDORING.md` to document vendored files and update instructions.
- Updated `README.md` to include vendoring notes.
- Modified `IMPLEMENTATION_SUMMARY.md` to reflect changes in the scribble node.
- Enhanced `VACE_ANNOTATORS.md` with new parameters for inference mode and edge threshold.
- Created `scribble.py` and `scribble_loader.py` for model loading and preprocessing.
- Updated `vace_scribble_annotator.py` to integrate new model loading logic and fallback mechanisms.
- Added smoke tests for both fallback and model inference scenarios.
- Included a sample input image for testing purposes.
This change allows the annotator to prefer ComfyUI folder paths when available, enhancing flexibility in locating model files based on user configurations.
- Sort files by os.path.getctime() instead of alphabetically
- Seed 0 now selects oldest file by creation date
- Updated documentation to reflect chronological ordering
- Tests confirm oldest file is selected first
Co-authored-by: sammykumar <1479861+sammykumar@users.noreply.github.com>
- Changed seed behavior from random selection to deterministic index-based selection
- Seed 0 now always selects first file, seed N wraps around using modulo
- Added file deduplication to handle files found by both recursive and non-recursive patterns
- Added sorting for consistent ordering across runs
- Removed unused imports (random, requests, mimetypes, urlparse, unescape)
- Updated info message to show index and file count
- Documented new behavior in MEDIA_SELECTION.md
Co-authored-by: sammykumar <1479861+sammykumar@users.noreply.github.com>
📝 (DEBUG_MODE_IMPLEMENTATION.md): update documentation to reflect new debug mode implementation and usage instructions
♻️ (debug_utils.py): refactor debug logging utilities to check both environment variable and frontend settings for debug mode
🐛 (civitai_service.py): replace print statements with debug_print for consistent logging in CivitAI service
♻️ (config_api.py): refactor API to cache debug mode setting and expose it through a new endpoint
📝 (swiss-army-knife.js): update logging to use dynamic debug mode check and remove legacy loading of debug config
♻️ (video_preview.js): refactor video preview extension to use dynamic debug mode check for logging
📝 (extension.js): add dynamic debug logging wrapper for LoRA Manager to improve logging consistency across extensions
📝 (azure_storage_upload): add comprehensive documentation for Azure Storage Upload node
🔧 (config_api.py): add support for Azure Storage connection string in settings
♻️ (swiss-army-knife.js): refactor API key synchronization to include Azure Storage connection string
✅ (requirements.txt): add azure-storage-blob as a dependency for Azure Storage functionality
This reverts commits:
- 080f961 (v2.9.7): LLM Studio prompt architecture update
- 220397b (v2.9.6): LLM Studio enhanced prompts
- e53fc9b (v2.9.5): Movement description enhancements
Reverting back to v2.9.4 state (enhanced scene descriptions) and bumping to v2.9.8.
♻️ (gemini_options_security.js): remove deprecated Gemini Util Options Security Extension as it is no longer needed
♻️ (swiss-army-knife.js): update API key settings to use consistent casing for SwissArmyKnife in multiple locations
📝 (docs): update implementation status and README to reflect new settings integration
🔧 (docs): create SETTINGS_INTEGRATION.md and SETTINGS_INTEGRATION_SUMMARY.md for detailed implementation overview
✨ (civitai_service.py, config_api.py, gemini_util_options.py, nodes.py): implement API key management through ComfyUI settings instead of environment variables to enhance security and usability
♻️ (gemini_options_security.js): disable outdated security extension for API key handling as it is no longer needed
⬆️ (pyproject.toml): bump version to 2.9.0 to reflect recent changes and improvements
✨ (swiss-army-knife.js): update extension version to 2.8.11 for consistency
✨ (swiss-army-knife.js): add helper functions to retrieve API keys from settings
✨ (swiss-army-knife.js): implement sync function to send API keys to backend
💡 (swiss-army-knife.js): update comments to reflect changes in API key handling
✨ (swiss-army-knife.js): register settings for Gemini and Civitai API keys with sync functionality