[PR #25080] fix(mobile): show local assets whose remote copies are in trash in timeline #18064

Open
opened 2026-02-05 16:32:03 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/immich-app/immich/pull/25080
Author: @PeterOmbodi
Created: 1/6/2026
Status: 🔄 Open

Base: mainHead: fix/deleted_in_timeline


📝 Commits (2)

  • 4014d69 fix(mobile): show local assets trashed in the cloud in the timeline
  • 1ece5de Merge remote-tracking branch 'origin/main' into fix/deleted_in_timeline

📊 Changes

3 files changed (+21 additions, -6 deletions)

View changed files

📝 mobile/lib/infrastructure/entities/merged_asset.drift (+14 -2)
📝 mobile/lib/infrastructure/entities/merged_asset.drift.dart (+5 -2)
📝 mobile/lib/infrastructure/repositories/timeline.repository.dart (+2 -2)

📄 Description

Description

In the current timeline implementation, assets that have been moved to the cloud trash but are still present locally are not displayed. When an asset is moved to the cloud trash via the web or the mobile app, it disappears from the timeline even though it still physically exists on the device.

Fixes # (issue)

This fix addresses that issue by showing such assets as out-of-sync local assets in the timeline (with a crossed-out cloud icon).

How Has This Been Tested?

  1. Launch the Flutter app on a mobile device.
  2. Log in to the app (I used the demo server and a demo account).
  3. If you’re using Android and the target album is included in the backup, disable trash synchronization.
  4. Download one or more photos from the photo list.
  5. In the web app, delete (move to trash) a photo(s) that is already downloaded on your phone
  6. Sync the device.
  7. The photo(s) from step 5 are still shown in the preview and in the timeline with a crossed-out cloud icon.

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR.
  • I have confirmed that any new dependencies are strictly necessary.
  • I have written tests for new code (if applicable)
  • I have followed naming conventions/patterns in the surrounding code
  • All code in src/services/ uses repositories implementations for database calls, filesystem operations, etc.
  • All code in src/repositories/ is pretty basic/simple and does not have any immich specific logic (that belongs in src/services/)
    ...

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/immich-app/immich/pull/25080 **Author:** [@PeterOmbodi](https://github.com/PeterOmbodi) **Created:** 1/6/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix/deleted_in_timeline` --- ### 📝 Commits (2) - [`4014d69`](https://github.com/immich-app/immich/commit/4014d6924300defa065acc81de6fe479f54999df) fix(mobile): show local assets trashed in the cloud in the timeline - [`1ece5de`](https://github.com/immich-app/immich/commit/1ece5de89b747cd43b9a86158ca6698a36ea27e0) Merge remote-tracking branch 'origin/main' into fix/deleted_in_timeline ### 📊 Changes **3 files changed** (+21 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `mobile/lib/infrastructure/entities/merged_asset.drift` (+14 -2) 📝 `mobile/lib/infrastructure/entities/merged_asset.drift.dart` (+5 -2) 📝 `mobile/lib/infrastructure/repositories/timeline.repository.dart` (+2 -2) </details> ### 📄 Description ## Description In the current timeline implementation, assets that have been moved to the cloud trash but are still present locally are not displayed. When an asset is moved to the cloud trash via the web or the mobile app, it disappears from the timeline even though it still physically exists on the device. Fixes # (issue) This fix addresses that issue by showing such assets as out-of-sync local assets in the timeline (with a crossed-out cloud icon). ## How Has This Been Tested? 1. Launch the Flutter app on a mobile device. 2. Log in to the app (I used the demo server and a demo account). 3. If you’re using Android and the target album is included in the backup, disable trash synchronization. 4. Download one or more photos from the photo list. 5. In the web app, delete (move to trash) a photo(s) that is already downloaded on your phone 6. Sync the device. 7. The photo(s) from step 5 are still shown in the preview and in the timeline with a crossed-out cloud icon. ## Checklist: - [x] I have performed a self-review of my own code - [ ] I have made corresponding changes to the documentation if applicable - [x] I have no unrelated changes in the PR. - [x] I have confirmed that any new dependencies are strictly necessary. - [ ] I have written tests for new code (if applicable) - [x] I have followed naming conventions/patterns in the surrounding code - [x] All code in `src/services/` uses repositories implementations for database calls, filesystem operations, etc. - [x] All code in `src/repositories/` is pretty basic/simple and does not have any immich specific logic (that belongs in `src/services/`) ... --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 16:32:03 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#18064