- 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.
📝 (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
- Resolved issue with Control Panel displaying concatenated string instead of individual fields from MediaDescribe node.
- Updated backend to send structured JSON data instead of formatted string.
- Enhanced frontend to parse JSON and display fields in a two-column layout for improved readability.
fix(ui-widgets): Add Dimensions Display Widget Troubleshooting Guide
- Created a comprehensive troubleshooting guide for the Dimensions Display Widget.
- Included quick verification steps, common issues, and detailed testing procedures.
docs(ui-widgets): Document Dimensions Display Widget Implementation
- Added documentation for the Dimensions Display Widget, detailing its features and UI behavior.
- Included examples and troubleshooting tips for users.
fix(ui-widgets): Final String Widget Population Fix
- Fixed issue where final_string widget was not being updated post-execution.
- Implemented onExecuted methods to ensure widget reflects the generated description.
docs(ui-widgets): Update README with UI Widgets Documentation
- Compiled and organized documentation for various UI widgets.
- Included links to related documentation and implementation patterns.
feat(ui-widgets): Restore Seed Widget Functionality
- Reintroduced seed widget for MediaDescribe node to enable randomization.
- Added functionality to force re-execution based on seed changes.
fix(ui-widgets): Address Widget Visibility Issues
- Resolved issues with unwanted widgets appearing in MediaDescribe node.
- Improved widget management to ensure correct visibility based on media type and source.
fix(ui-widgets): Implement Widget State Persistence
- Added serialization for widget visibility state in GeminiUtilMediaDescribe node.
- Ensured UI state is preserved across workflow saves and reloads.