Commit Graph
19 Commits
Author SHA1 Message Date
Ewald a78f4572c8 Align frontend layout with ComfyUI conventions 2026-05-26 10:42:22 +02:00
Ewald 4e8fa8ab8d feat(minimap): enhance minimap functionality with zoom and navigation features
feat(extractors): add path prompt detection and improve workflow parameter handling

test(extractors): add tests for skipping filepath-like prompts and ensuring overrides
2026-04-08 09:42:39 +02:00
MajoorWaldi fbd1d182e8 fix(dnd): include avif images in ComfyUI metadata stripping
- Updated the _STRIPPABLE_EXTS set to include the .avif extension
- This change ensures that AVIF images are considered for ComfyUI metadata stripping during the drag-and-drop operation
2026-04-06 18:28:58 +02:00
MajoorWaldi 4411c72e4e Refactor test imports and clean up unused code across multiple test files
- Removed unnecessary imports from various test files to improve readability and maintainability.
- Added new settings for the Generated Feed display in the settingsFeed.js file.
- Introduced a new configuration file for Pyright type checking.
2026-03-28 13:26:28 +01:00
MajoorWaldi d6c4e4d966 feat: Enhance geninfo extraction for upscalers and samplers
- Introduced `_effective_sampler_sinks` to deduplicate and manage sampler sinks effectively.
- Updated `_apply_multi_sink_sampler_fields` to handle multiple samplers and chained passes.
- Added `_extract_upscaler_geninfo_fallback` to build geninfo payloads for upscaler-only workflows.
- Implemented `_extract_cached_text_from_linked_node` to improve prompt extraction from ShowText nodes.
- Enhanced `_trace_scheduler_sigmas` to resolve linked steps for scheduler configurations.
- Added PNG text chunk reading functionality to extract prompts and workflows when EXIF data is missing.
- Created `upscaler_extractor.py` for dedicated upscaler workflow extraction helpers.
- Improved test coverage for sampler pipelines and upscaler extraction logic.
2026-03-08 23:48:19 +01:00
MajoorWaldi 9fa7ace7cc Add comprehensive tests for role_classifier, sampler_tracer, scan_diagnostics, scan_throttle, and extractors
- Introduced coverage tests for role_classifier.py, targeting various functions and edge cases.
- Added extra tests for sampler_tracer.py to cover uncovered branches and exception handling.
- Implemented tests for scan_diagnostics.py to validate error handling and unique filepath diagnosis.
- Created tests for scan_throttle.py to ensure proper functionality of throttling helpers.
- Developed additional coverage tests for extractors.py, focusing on various data handling scenarios.
2026-02-26 09:33:55 +01:00
MajoorWaldi 75261d636c Add comprehensive tests for SQLite facade, metadata extractors, and security helpers
- Introduced unit tests for SQLite facade helpers, including schema validation, query building, and async operations.
- Added integration tests for basic SQLite queries and transaction handling.
- Implemented additional tests for metadata extraction functions, focusing on dimension handling, EXIF data, and video metadata.
- Created tests for security core helpers, covering environment variable checks, IP validation, and CSRF protection.
- Included compatibility tests for route exports to ensure proper functionality.
2026-02-26 07:01:43 +01:00
Your Name f38ab4209e Save changes 2026-02-19 22:44:26 +01:00
Ewald da847f35f9 Add regression tests for route security guards
- Implement tests to ensure file paths are properly allowlisted in custom view and folder info handlers.
- Verify that collections mutations enforce CSRF protection and write access guards.
- Check that settings mutations require write access for specific routes.
2026-02-18 14:37:13 +01:00
Ewald b700149b2d feat: Enhance metadata handling and fallback mechanisms
- Introduced fallback readers for metadata extraction when ExifTool/ffprobe are unavailable, utilizing Pillow and hachoir for images and media files respectively.
- Added settings for metadata fallback preferences, allowing users to toggle image and media fallback options.
- Implemented route collision logging to prevent overlapping API paths.
- Added middleware for authentication on sensitive routes, ensuring secure access.
- Updated API documentation to reflect new endpoints and settings.
- Enhanced unit tests for metadata handling, case sensitivity in file paths, and fallback mechanisms.
- Removed compatibility shims for shared modules, consolidating imports under mjr_am_shared.
2026-02-13 16:37:44 +01:00
Ewald 00ee7806f7 feat: Add tool detection helpers for ExifTool and FFprobe
- Implemented caching for tool availability and versions.
- Added functions to check for ExifTool and FFprobe availability.
- Included version satisfaction checks against minimum required versions.
- Created utility functions for parsing boolean and float values from environment variables.
- Introduced shared utilities for error message sanitization and logging with emoji indicators.
- Established a Result pattern for error handling without exceptions.
- Added scan throttling helpers to manage background scans efficiently.
- Implemented time utilities for timestamps and performance measurement.
- Defined shared types, enums, and constants for consistent error handling and file classification.
- Created version management utilities to retrieve version information from pyproject.toml.
- Developed installation script for runtime dependencies.
- Added tests for ExifTool batch processing and various configuration scenarios.
- Implemented tests for version route aliases and runtime output root configuration.
2026-02-12 17:55:28 +01:00
Ewald 4ed61dd0e7 feat: Enhance metadata enrichment and audio handling
- Implemented a pause mechanism for enrichment processes in search routes to improve performance and user experience.
- Added new toast notifications for metadata enrichment completion and database restore events.
- Updated internationalization (i18n) files to include new toast messages for enrichment and database operations.
- Refactored drag-and-drop functionality to support audio files alongside video files, including new utility functions for audio path detection.
- Improved grid view loading overlays and asset handling to prevent stale data issues during updates.
- Added tests for audio metadata extraction and prompt graph preservation to ensure robustness in audio processing features.
- Updated requirements to include static analysis tools for better code quality.
2026-02-11 09:44:00 +01:00
Ewald 7d53165a5b feat: Enhance audio metadata extraction and TTS integration
- Added ExifTool and FFmpeg installation in CI workflow for audio processing.
- Implemented robust JSON parsing for workflow and prompt extraction in audio metadata.
- Introduced TTS-specific metadata extraction and fallback handling in geninfo parser.
- Updated sidebar components to display TTS-related metadata including voice, language, and parameters.
- Enhanced status dot feature to include database health checks and indexing status.
- Improved unit tests for ExifTool and FFProbe with mock responses.
- Added integration tests for TTS audio workflows to validate metadata extraction.
2026-02-09 16:17:38 +01:00
Your Name 6e9320529d Add unit tests for audio metadata extraction and geninfo parsing
- Implement tests for audio classification supporting AIFF and AIF formats.
- Create a test to verify audio metadata extraction from EXIF and FFprobe data.
- Add tests for detecting T2A and A2A workflow types in geninfo parsing.
- Validate extraction of lyrics and sampler widget values in the ace step workflow.
2026-02-08 20:09:25 +01:00
Your Name 1646e2171b feat: Implement duplicate detection and similarity analysis features
- Added DuplicatesService for background duplicate analysis and similarity detection.
- Introduced endpoints for analyzing duplicates, checking status, and merging tags.
- Created utility functions for file hashing and perceptual hashing.
- Implemented watcher settings for runtime tuning of debounce and deduplication.
- Added database maintenance tools for resetting and deleting the database.
- Enhanced error handling with sanitization for client responses.
- Added tests for duplicates service and error handling.
- Updated ESLint configuration for better code quality checks.
- Introduced filename validation and logging utilities.
2026-02-08 15:11:17 +01:00
Your Name d9260794bd Fix import error in test_extractors.py 2026-02-01 23:10:12 +01:00
Your Name 39a6d6c2b8 Refactor viewer buttons and update gitignore
- Create js/components/buttons.js specific for shared UI elements

- Refactor toolbar.js and Viewer.js to use shared buttons

- Fix viewer overlay theme variable inheritance

- specific ignore patterns added to .gitignore
2026-02-01 22:47:59 +01:00
Your Name f8898e964c Release 2.2.2: i18n support + viewer/minimap improvements 2026-01-30 03:37:28 +01:00
Your Name 8ed51fbf39 make assets manager docs, license, and code improvements 2026-01-24 19:28:33 +01:00