- 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.
- Updated Card.js to improve generation time handling and display logic.
- Simplified SidebarView.js by removing unnecessary timeout logic and added event dispatching on close.
- Enhanced collectionsController.js with localized strings for collection management dialogs and messages.
- Removed auto scan trigger from AssetsManagerPanel.js and improved scroll restoration logic.
- Added localization support in customRootsController.js for folder management prompts and messages.
- Updated gridController.js to include localized messages for grid interactions.
- Enhanced sidebarController.js to persist sidebar open/close state.
- Improved sortController.js to use localized sort option labels.
- Added sidebar open state management in panelState.js.
- Enhanced customPopoverView.js and filterPopoverView.js with localized labels and button texts.
- Updated headerView.js to include version information and link to GitHub repository.
- Improved statusDot.js with localized tool capabilities and status messages.
- Added a safe zlib decompression function to handle large compressed data in parsing_utils.py, ensuring it respects a maximum decompressed size limit.
- Refactored the MetadataService class in service.py to improve file grouping logic and reduce redundancy by introducing helper functions for grouping existing paths and fetching EXIF/FFprobe data.
- Updated the Windows rating mapping in sync.py to clarify the mapping of star ratings to Windows-style percent fields for better compatibility.
- Improved error handling and logging in viewer/info.py for safer extraction of media info and file stats.
- Enhanced JSON parsing in scan.py to catch specific JSON decoding errors.
- Streamlined hotkeys documentation in HOTKEYS_SHORTCUTS.md and SHORTCUTS.md for clarity and conciseness.
- Improved keyboard shortcut handling in GridKeyboard.js and GridView.js to ensure proper focus management and keyboard shortcut installation.
- Added keyboard shortcuts for grid view actions including opening viewer, showing metadata, comparing assets, and side-by-side viewing.
- Integrated shortcut displays in context menus for grid and viewer actions.
- Implemented search focus and clear functionalities with keyboard shortcuts in the Assets Manager panel.
- Improved asset rating handling with debounce logic for better performance.
- Created a comprehensive shortcuts documentation file for user reference.
- Refactored context menu cleanup and session management for better reliability.
- 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