- Added `_build_asset_filter_query` and `_query_allowed_asset_ids` functions to streamline asset filtering in hybrid search.
- Enhanced `_filter_semantic_hits` to utilize new asset filtering methods.
- Refactored vector search functions to improve K-means clustering logic and asset filtering.
- Introduced helper functions for parsing and validating query filters in `query_sanitizer.py`.
- Improved viewer context resolution in `viewer.py` with better error handling and path validation.
- Updated schema healing tests to use helper functions for column validation.
- Enhanced test coverage for vector indexing and filesystem entries.
- Added new test images for filesystem entry tests.
- 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.
- Add AI alignment score display to asset metadata
- Implement image description fallback for non-workflow image assets
- Improve AI captioning UI and UX
- Optimize AI tagging suggestions with bootstrap generation
- Refactor collections controller to support AI toggling
- Enhance error handling and retry logic for asset indexing
- Updated vector_service.py to support SigLIP2, X-CLIP, and Florence-2 models for embedding images, text, and video keyframes.
- Introduced AI verbose logging settings, allowing dynamic configuration of logging verbosity for model loading and inference.
- Modified database maintenance to backfill missing vectors for both image and video assets.
- Added health check routes for managing AI logging settings.
- Implemented enhanced caption generation for images using Florence-2.
- Updated vector search routes to include enhanced prompt generation and improved error handling.
- Added tests for new features, including enhanced prompt generation and dimension fallback mechanisms.
- Move token from local to session storage on client side
- Set httpOnly cookie for server-side token on bootstrap/rotate
- Add token validation and auto-sanitization
- Implement retry logic for failed operations
- Add input validation for collection names
- Update toast durations and error handling
- Introduced `query_sanitizer.py` for inline query, date, and sort sanitization.
- Added `result_filter.py` for runtime filtering helpers, including asset exclusion and enrichment pause functionality.
- Implemented `result_hydrator.py` for database hydration helpers, ensuring assets are properly hydrated with metadata.
- Created unit tests in `test_db_refactor_helpers.py` to validate database lock detection and SQL write query identification.
- Organized and grouped import statements for better readability in health.py, metadata.py, releases.py, scan.py, search.py, version.py, viewer.py, and registry.py.
- Updated type hints to use the new union syntax (e.g., str | None) for better clarity in scan.py, settings.py, tool_detect.py, and result.py.
- Enhanced the handling of optional types in various functions to ensure more robust type checking.
- Removed unnecessary blank lines and improved formatting for consistency.
- Adjusted the logic in several test files to ensure compatibility with the updated import structure and type hints. (See <attachments> above for file contents. You may not need to search or read the file again.)
- 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.
- 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.
- 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.