Display the directory path below the filename on each duplicate asset
card, making it easier to distinguish duplicates with identical names.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename album_asset columns: albumsId -> albumId, assetsId -> assetId
- Remove sidecarPath field (no longer exists in Immich v2.x schema)
- Update all API files referencing these columns
Fixes#214, #212
Tested with Immich v2.4.1
- Removed the additional tags for assets in the MissingLocationAssets component, returning only the sorted assets.
- Updated AssetGrid to include Immich link tags for each asset, utilizing the exImmichUrl from the configuration context.
- Enhanced the dependency array for the asset mapping effect to include exImmichUrl for proper updates.
- Updated the deleteAssets function to accept an options parameter for forced deletion.
- Introduced a new handleTrash function to move selected assets to trash instead of permanent deletion.
- Added a confirmation dialog for moving assets to trash, improving user experience and providing recovery options.
- Updated the UI to reflect the new trash functionality with appropriate button and alert dialog integration.
- Introduced new API routes for people names, geo photos, and album photos statistics.
- Updated analytics handler to include functions for fetching new statistics.
- Added new chart components for visualizing people names, geo photos, and album photos data in the Exif data analytics page.
- Modified asset deletion function to accept an options parameter for forced deletion.
- Added functionality to auto-select assets based on criteria: lowest quality and smallest size.
- Implemented keyboard shortcut (Escape) to unselect all assets.
- Updated UI to include an auto-select dropdown in the floating bar for better user experience.
- Enhanced toast notifications to inform users about the auto-selection results.
- Added a floating bar to display selected assets information in discard mode.
- Implemented logic to calculate and display the count and total size of selected assets.
- Introduced a delete confirmation dialog for removing selected assets, including success and error feedback via toast notifications.
- Updated the state management to handle asset deletion and clean up empty duplicate records.
- Added a `selectionMode` prop to `DuplicateAssetRecord`, `DuplicateAssetItem`, and `VirtualizedDuplicateList` components to toggle between "keep" and "discard" modes.
- Updated UI elements to reflect the current selection mode, including button states and labels.
- Enhanced the logic for keeping or deleting selected assets based on the selected mode in the `BulkDuplicatePage` component.
- Improved user experience by providing clear visual feedback for asset selection actions.
- Updated the `listSimilarFaces` API to accept a name parameter for filtering results.
- Modified the `PersonMergeDropdown` component to include a new select input for choosing between "nameless", "tagged", and "all" options.
- Adjusted the API handler to filter similar faces based on the selected name criteria.
- Improved the UI layout for the threshold and name selection inputs.
- Changed the `onSelect` prop in `AlbumThumbnail` to accept the entire album object instead of just the album ID.
- Introduced new API routes for merging albums and added the corresponding handler.
- Removed the `useAlbumSelection` hook and integrated selection logic directly in the `AlbumList` component.
- Added a `MergeAlbumDialog` component for merging albums.
- Updated the album list page to handle album merging and selection state more effectively.
- Introduced useMemo to separate known and unknown people based on their names.
- Enhanced rendering logic to display known and unknown people distinctly.
- Updated UI elements for better layout and usability, including search input and person rendering.
- Adjusted padding and spacing for a more consistent design across the component.
- Integrated PhotoSelectionContext into AlbumImages for better state management of selected assets.
- Replaced local asset state with context-driven updates, allowing for seamless asset fetching and selection.
- Added image gallery functionality using react-grid-gallery and yet-another-react-lightbox for enhanced user experience.
- Updated AssetOffsetDialog to include timezone options for date adjustments, improving flexibility in asset date management.
- Refactored UI elements for better layout and usability across both components.