Skip to content

iOS app saves thumbnail instead of original image when saving to device #24822

@PilaScat

Description

@PilaScat

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

On iOS, when using the Immich mobile app to save an image to the device, only the thumbnail is saved and viewed by the app, not the original full-resolution photo. The original file on the server is NOT corrupted or altered, but the display and saved file on the device are low-quality. Sharing to another app sends the correct original file, so the bug only concerns saving to the device from the app.

The OS that Immich Server is running on

unRAID Docker

Version of Immich Server

2.4.1

Version of Immich Mobile App

2.4.1.build.239

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

iPhone 14 Pro

Your docker-compose.yml content

Not using compose, but the docker from imagegenius/immich

Your .env content

not using

Reproduction steps

  1. Open Immich on iOS
  2. Share and click save on device
  3. The saved image is the thumbnail and not the original
  4. The app displays the thumbnail, but the file on the server is still correct
  5. Sharing to another app sends the correct original image

Relevant log output

2025-12-24 12:13:42.395597 | info     | DriftBackupNotifier  | Tasks to resume: 5 |
2025-12-24 12:13:42.395591 | info     | DriftBackupNotifier  | Found 5 tasks |
2025-12-24 12:13:42.390669 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:13:40.387821 | info     | HashService          | Hashing took - 14ms |
2025-12-24 12:13:40.373206 | info     | HashService          | Starting hashing of assets |
2025-12-24 12:13:40.369633 | info     | DriftBackupNotifier  | Start a new backup queue |
2025-12-24 12:13:40.369629 | info     | DriftBackupNotifier  | Found 0 tasks |
2025-12-24 12:13:40.367393 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:13:38.346138 | info     | SyncApiRepository    | Remote Sync completed in 1062ms |
2025-12-24 12:13:37.290649 | info     | DeviceSyncService    | Device sync took - 7ms |
2025-12-24 12:13:37.283178 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 12:13:36.673496 | info     | AppLifeCycleNotifier | Using server URL: null |
2025-12-24 12:11:54.951147 | info     | DriftBackupNotifier  | Tasks to resume: 5 |
2025-12-24 12:11:54.951146 | info     | DriftBackupNotifier  | Found 5 tasks |
2025-12-24 12:11:54.950084 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:11:54.612136 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 12:11:54.520133 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 12:11:52.947813 | info     | HashService          | Hashing took - 2ms |
2025-12-24 12:11:52.945334 | info     | HashService          | Starting hashing of assets |
2025-12-24 12:11:52.936666 | info     | DriftBackupNotifier  | Start a new backup queue |
2025-12-24 12:11:52.936661 | info     | DriftBackupNotifier  | Found 0 tasks |
2025-12-24 12:11:52.935277 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:11:50.932666 | info     | DeviceSyncService    | Device sync took - 329ms |
2025-12-24 12:11:50.835664 | info     | SyncApiRepository    | Remote Sync completed in 224ms |
2025-12-24 12:11:50.611425 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 12:11:49.980945 | info     | AppLifeCycleNotifier | Using server URL: null |
2025-12-24 12:10:33.472115 | info     | DriftBackupNotifier  | Tasks to resume: 5 |
2025-12-24 12:10:33.472109 | info     | DriftBackupNotifier  | Found 5 tasks |
2025-12-24 12:10:33.466773 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:10:31.465437 | info     | HashService          | Hashing took - 126ms |
2025-12-24 12:10:31.338987 | info     | HashService          | Starting hashing of assets |
2025-12-24 12:10:31.326595 | info     | DriftBackupNotifier  | Start a new backup queue |
2025-12-24 12:10:31.326590 | info     | DriftBackupNotifier  | Found 0 tasks |
2025-12-24 12:10:31.325468 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:10:29.322818 | info     | DeviceSyncService    | Device sync took - 319ms |
2025-12-24 12:10:29.220775 | info     | SyncApiRepository    | Remote Sync completed in 217ms |
2025-12-24 12:10:29.003389 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 12:10:28.464583 | info     | AppLifeCycleNotifier | Using server URL: null |
2025-12-24 12:09:40.080926 | info     | DriftBackupNotifier  | Tasks to resume: 6 |
2025-12-24 12:09:40.080917 | info     | DriftBackupNotifier  | Found 6 tasks |
2025-12-24 12:09:40.076997 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:09:38.075271 | info     | HashService          | Hashing took - 8ms |
2025-12-24 12:09:38.066563 | info     | HashService          | Starting hashing of assets |
2025-12-24 12:09:38.052239 | info     | DriftBackupNotifier  | Start a new backup queue |
2025-12-24 12:09:38.052227 | info     | DriftBackupNotifier  | Found 0 tasks |
2025-12-24 12:09:38.048718 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:09:36.045854 | info     | SyncApiRepository    | Remote Sync completed in 663ms |
2025-12-24 12:09:35.386384 | info     | DeviceSyncService    | Device sync took - 5ms |
2025-12-24 12:09:35.380954 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 12:09:34.790218 | info     | AppLifeCycleNotifier | Using server URL: null |
2025-12-24 12:08:57.568235 | info     | DriftBackupNotifier  | Tasks to resume: 5 |
2025-12-24 12:08:57.568229 | info     | DriftBackupNotifier  | Found 5 tasks |
2025-12-24 12:08:57.563977 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:08:55.560974 | info     | HashService          | Hashing took - 173ms |
2025-12-24 12:08:55.387015 | info     | HashService          | Starting hashing of assets |
2025-12-24 12:08:55.384392 | info     | DriftBackupNotifier  | Start a new backup queue |
2025-12-24 12:08:55.384387 | info     | DriftBackupNotifier  | Found 0 tasks |
2025-12-24 12:08:55.380354 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:08:53.377470 | info     | DeviceSyncService    | Device sync took - 433ms |
2025-12-24 12:08:53.158126 | info     | SyncApiRepository    | Remote Sync completed in 213ms |
2025-12-24 12:08:52.944122 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 12:08:52.297409 | info     | AppLifeCycleNotifier | Using server URL: null |
2025-12-24 12:06:15.153618 | info     | DriftBackupNotifier  | Tasks to resume: 8 |
2025-12-24 12:06:15.153613 | info     | DriftBackupNotifier  | Found 8 tasks |
2025-12-24 12:06:15.145812 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:06:13.152791 | info     | DriftBackupNotifier  | Start a new backup queue |
2025-12-24 12:06:13.152783 | info     | DriftBackupNotifier  | Found 0 tasks |
2025-12-24 12:06:13.142470 | info     | HashService          | Hashing took - 6ms |
2025-12-24 12:06:13.135491 | info     | HashService          | Starting hashing of assets |
2025-12-24 12:06:13.126129 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:06:11.123137 | info     | SyncApiRepository    | Remote Sync completed in 1814ms |
2025-12-24 12:06:09.648005 | info     | DeviceSyncService    | Device sync took - 342ms |
2025-12-24 12:06:09.647979 | info     | DeviceSyncService    | Full device sync took - 342ms |
2025-12-24 12:06:09.308121 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 12:04:34.507541 | info     | SyncStreamService    | Successfully processed 2 assets in batch |
2025-12-24 12:04:34.503368 | info     | SyncStreamService    | Processing batch of 2 AssetUploadReadyV1 events |
2025-12-24 12:04:29.508821 | info     | SyncStreamService    | Successfully processed 64 assets in batch |
2025-12-24 12:04:29.296432 | info     | SyncStreamService    | Processing batch of 64 AssetUploadReadyV1 events |
2025-12-24 12:04:20.389924 | warning  | ShareIntentUploadStateNotifier | Upload failed for asset: 0148DE09-6B2B-40E3-891E-2B7862DEB8DC_L0_001_1766410106.058173_o_IMG_1825.MOV, error: TaskException: Delayed or retried enqueue failed |
2025-12-24 12:04:19.094214 | info     | SyncStreamService    | Successfully processed 48 assets in batch |
2025-12-24 12:04:18.978732 | info     | SyncStreamService    | Processing batch of 48 AssetUploadReadyV1 events |
2025-12-24 12:04:18.773872 | warning  | ShareIntentUploadStateNotifier | Upload failed for asset: 57088556-A88F-44DF-8E7A-517A9D6544BB_L0_001_1766437807.092419_o_IMG_1887.HEIC, error: TaskException: Delayed or retried enqueue failed |
2025-12-24 12:04:18.756197 | warning  | ShareIntentUploadStateNotifier | Upload failed for asset: 8AFD3A15-879E-4DD2-980C-B102C4E6F048_L0_001_1766409170.293399_o_2DBD4DB6-991C-4861-93BC-A60B62DCE3FC.mp4, error: TaskException: Delayed or retried enqueue failed |
2025-12-24 12:04:15.760721 | warning  | ShareIntentUploadStateNotifier | Upload failed for asset: 13955928-84D2-4D02-8983-ADC5AEAE4918_L0_001_1766410106.056989_o_IMG_1826.HEIC, error: TaskException: Delayed or retried enqueue failed |
2025-12-24 12:04:15.755962 | warning  | ShareIntentUploadStateNotifier | Upload failed for asset: 2FB5B173-F139-4322-A086-E242EF1EB1B7_L0_001_1766410106.058968_o_IMG_1827.HEIC, error: TaskException: Delayed or retried enqueue failed |
2025-12-24 12:04:08.895611 | info     | SyncStreamService    | Successfully processed 10 assets in batch |
2025-12-24 12:04:08.650081 | info     | SyncStreamService    | Processing batch of 10 AssetUploadReadyV1 events |
2025-12-24 12:03:57.132382 | info     | DriftBackupNotifier  | Tasks to resume: 133 |
2025-12-24 12:03:57.132380 | info     | DriftBackupNotifier  | Found 133 tasks |
2025-12-24 12:03:57.126102 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:03:55.123766 | info     | HashService          | Hashing took - 1ms |
2025-12-24 12:03:55.122595 | info     | HashService          | Starting hashing of assets |
2025-12-24 12:03:54.999761 | info     | DriftBackupNotifier  | Tasks to resume: 134 |
2025-12-24 12:03:54.999757 | info     | DriftBackupNotifier  | Found 134 tasks |
2025-12-24 12:03:54.995431 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 12:03:54.992582 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 12:03:54.987290 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 12:03:52.985893 | info     | SyncApiRepository    | Remote Sync completed in 667ms |
2025-12-24 12:03:52.527566 | info     | DeviceSyncService    | Device sync took - 208ms |
2025-12-24 12:03:52.318741 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 12:03:51.739746 | info     | AppLifeCycleNotifier | Using server URL: null |
2025-12-24 12:01:53.270010 | warning  | BackgroundWorkerBgService | Background worker cancelled |
2025-12-24 12:01:51.836269 | info     | DeviceSyncService    | Device sync took - 4046ms |
2025-12-24 12:01:47.779646 | info     | BackgroundWorkerBgService | iOS background upload started with maxSeconds: nulls |
2025-12-24 11:55:16.106032 | info     | SyncApiRepository    | Remote Sync completed in 1271ms |
2025-12-24 11:55:14.834998 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 11:55:05.013299 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 11:55:05.010913 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 11:54:56.323997 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 11:54:56.317254 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 11:54:45.532150 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 11:54:45.430691 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 11:54:40.126022 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 11:54:39.742496 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 11:54:34.537543 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 11:54:34.533590 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 11:54:11.485180 | info     | SyncStreamService    | Successfully processed 2 assets in batch |
2025-12-24 11:54:11.479793 | info     | SyncStreamService    | Processing batch of 2 AssetUploadReadyV1 events |
2025-12-24 11:54:03.588753 | info     | SyncStreamService    | Successfully processed 4 assets in batch |
2025-12-24 11:54:01.410319 | info     | SyncStreamService    | Processing batch of 4 AssetUploadReadyV1 events |
2025-12-24 11:53:49.290270 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 11:53:49.287931 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 11:53:39.287030 | info     | SyncStreamService    | Successfully processed 5 assets in batch |
2025-12-24 11:53:38.694158 | info     | SyncStreamService    | Processing batch of 5 AssetUploadReadyV1 events |
2025-12-24 11:53:27.096161 | info     | SyncStreamService    | Successfully processed 1 assets in batch |
2025-12-24 11:53:27.094626 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |
2025-12-24 11:53:12.430754 | info     | SyncStreamService    | Successfully processed 13 assets in batch |
2025-12-24 11:53:12.422864 | info     | SyncStreamService    | Processing batch of 13 AssetUploadReadyV1 events |
2025-12-24 11:53:02.071156 | info     | SyncStreamService    | Successfully processed 8 assets in batch |
2025-12-24 11:53:02.065068 | info     | SyncStreamService    | Processing batch of 8 AssetUploadReadyV1 events |
2025-12-24 11:52:51.902911 | info     | SyncStreamService    | Successfully processed 27 assets in batch |
2025-12-24 11:52:51.771085 | info     | SyncStreamService    | Processing batch of 27 AssetUploadReadyV1 events |
2025-12-24 11:52:41.678669 | info     | SyncStreamService    | Successfully processed 10 assets in batch |
2025-12-24 11:52:41.671274 | info     | SyncStreamService    | Processing batch of 10 AssetUploadReadyV1 events |
2025-12-24 11:52:31.734945 | info     | SyncStreamService    | Successfully processed 31 assets in batch |
2025-12-24 11:52:31.628809 | info     | SyncStreamService    | Processing batch of 31 AssetUploadReadyV1 events |
2025-12-24 11:52:21.257778 | info     | SyncStreamService    | Successfully processed 5 assets in batch |
2025-12-24 11:52:21.097023 | info     | SyncStreamService    | Processing batch of 5 AssetUploadReadyV1 events |
2025-12-24 11:52:11.037929 | info     | SyncStreamService    | Successfully processed 14 assets in batch |
2025-12-24 11:52:11.029209 | info     | SyncStreamService    | Processing batch of 14 AssetUploadReadyV1 events |
2025-12-24 11:52:00.991041 | info     | SyncStreamService    | Successfully processed 16 assets in batch |
2025-12-24 11:52:00.884643 | info     | SyncStreamService    | Processing batch of 16 AssetUploadReadyV1 events |
2025-12-24 11:51:52.560273 | info     | DriftBackupNotifier  | Tasks to resume: 3 |
2025-12-24 11:51:52.560270 | info     | DriftBackupNotifier  | Found 3 tasks |
2025-12-24 11:51:52.460596 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 11:51:50.575106 | info     | SyncStreamService    | Successfully processed 14 assets in batch |
2025-12-24 11:51:50.461231 | info     | SyncStreamService    | Processing batch of 14 AssetUploadReadyV1 events |
2025-12-24 11:51:50.457996 | info     | HashService          | Hashing took - 18ms |
2025-12-24 11:51:50.439039 | info     | HashService          | Starting hashing of assets |
2025-12-24 11:51:50.435890 | info     | DriftBackupNotifier  | Start a new backup queue |
2025-12-24 11:51:50.435887 | info     | DriftBackupNotifier  | Found 0 tasks |
2025-12-24 11:51:50.434594 | info     | DriftBackupNotifier  | Resuming backup tasks... |
2025-12-24 11:51:48.431775 | info     | SyncApiRepository    | Remote Sync completed in 7286ms |
2025-12-24 11:51:41.151479 | info     | DeviceSyncService    | Device sync took - 7ms |
2025-12-24 11:51:41.145061 | info     | SyncStreamService    | Remote sync request for user |
2025-12-24 11:51:40.325156 | info     | AppLifeCycleNotifier | Using server URL: null |
2025-12-24 11:50:44.220295 | severe   | SyncStreamService    | Error processing AssetUploadReadyV1 websocket batch events | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: DSC_0254.NEF.NEF, 1, 2025-12-21T14:36:53.250Z, 2025-12-24T10:40:10.096Z, 0, e9b8fc06-ca41-4c6f-a7bf-b4f7d0c19664, p8XDJTpfjVVcSnxT0eG15AzSDUI=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:36:53.250Z, jSgGFYQeuUmKd2dQZjenVXyQtgdn, null, null, 0, null, null, DSC_0254.NEF.NEF, 1, 2025-12-21T14:36:53.250Z, 2025-12-24T10:40:10.096Z, 0, p8XDJTpfjVVcSnxT0eG15AzSDUI=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:36:53.250Z, jSgGFYQeuUmKd2dQZjenVXyQtgdn, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:44.216557 | severe   | DriftSyncStreamRepository | Error: updateAssetsV1 - websocket-batch | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: DSC_0254.NEF.NEF, 1, 2025-12-21T14:36:53.250Z, 2025-12-24T10:40:10.096Z, 0, e9b8fc06-ca41-4c6f-a7bf-b4f7d0c19664, p8XDJTpfjVVcSnxT0eG15AzSDUI=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:36:53.250Z, jSgGFYQeuUmKd2dQZjenVXyQtgdn, null, null, 0, null, null, DSC_0254.NEF.NEF, 1, 2025-12-21T14:36:53.250Z, 2025-12-24T10:40:10.096Z, 0, p8XDJTpfjVVcSnxT0eG15AzSDUI=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:36:53.250Z, jSgGFYQeuUmKd2dQZjenVXyQtgdn, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:44.213985 | info     | SyncStreamService    | Processing batch of 16 AssetUploadReadyV1 events |
2025-12-24 11:50:33.759684 | severe   | SyncStreamService    | Error processing AssetUploadReadyV1 websocket batch events | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3832.MOV, 2, 2025-12-21T14:24:28.000Z, 2025-12-24T10:42:16.935Z, 83, ab3dcc29-191c-4877-a51a-0b1050f13024, m3vOGlo18IL2kdW29UBQ2woKdkE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:24:28.000Z, mFgKFApwppHLdWl2iIh1cDgJPQ==, null, null, 0, null, null, IMG_3832.MOV, 2, 2025-12-21T14:24:28.000Z, 2025-12-24T10:42:16.935Z, 83, m3vOGlo18IL2kdW29UBQ2woKdkE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:24:28.000Z, mFgKFApwppHLdWl2iIh1cDgJPQ==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:33.756084 | severe   | DriftSyncStreamRepository | Error: updateAssetsV1 - websocket-batch | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3832.MOV, 2, 2025-12-21T14:24:28.000Z, 2025-12-24T10:42:16.935Z, 83, ab3dcc29-191c-4877-a51a-0b1050f13024, m3vOGlo18IL2kdW29UBQ2woKdkE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:24:28.000Z, mFgKFApwppHLdWl2iIh1cDgJPQ==, null, null, 0, null, null, IMG_3832.MOV, 2, 2025-12-21T14:24:28.000Z, 2025-12-24T10:42:16.935Z, 83, m3vOGlo18IL2kdW29UBQ2woKdkE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:24:28.000Z, mFgKFApwppHLdWl2iIh1cDgJPQ==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:33.754584 | info     | SyncStreamService    | Processing batch of 4 AssetUploadReadyV1 events |
2025-12-24 11:50:19.833213 | severe   | SyncStreamService    | Error processing AssetUploadReadyV1 websocket batch events | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3748.MOV, 2, 2025-12-21T14:07:35.000Z, 2025-12-24T10:42:09.900Z, 53, 8e36cb46-61be-4e47-a95e-cdaba2973676, ThfCe9ZdpkI3iDJY1ATYOXwaCpw=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:07:35.000Z, EXkGJBANc5Tm1LQ4l1VJcJkEmA==, null, null, 0, null, null, IMG_3748.MOV, 2, 2025-12-21T14:07:35.000Z, 2025-12-24T10:42:09.900Z, 53, ThfCe9ZdpkI3iDJY1ATYOXwaCpw=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:07:35.000Z, EXkGJBANc5Tm1LQ4l1VJcJkEmA==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:19.830157 | severe   | DriftSyncStreamRepository | Error: updateAssetsV1 - websocket-batch | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3748.MOV, 2, 2025-12-21T14:07:35.000Z, 2025-12-24T10:42:09.900Z, 53, 8e36cb46-61be-4e47-a95e-cdaba2973676, ThfCe9ZdpkI3iDJY1ATYOXwaCpw=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:07:35.000Z, EXkGJBANc5Tm1LQ4l1VJcJkEmA==, null, null, 0, null, null, IMG_3748.MOV, 2, 2025-12-21T14:07:35.000Z, 2025-12-24T10:42:09.900Z, 53, ThfCe9ZdpkI3iDJY1ATYOXwaCpw=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:07:35.000Z, EXkGJBANc5Tm1LQ4l1VJcJkEmA==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:19.828471 | info     | SyncStreamService    | Processing batch of 5 AssetUploadReadyV1 events |
2025-12-24 11:50:07.340018 | severe   | SyncStreamService    | Error processing AssetUploadReadyV1 websocket batch events | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3771.MOV, 2, 2025-12-21T14:12:03.000Z, 2025-12-24T10:42:13.239Z, 62, c986dca6-6c94-4163-b7ae-2857f667888a, 7EDOw2khWeB0AntcD5oJ8IX8BgE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:12:03.000Z, lGgCHAhdKXkx9IeQkqBrUPQHZA==, null, null, 0, null, null, IMG_3771.MOV, 2, 2025-12-21T14:12:03.000Z, 2025-12-24T10:42:13.239Z, 62, 7EDOw2khWeB0AntcD5oJ8IX8BgE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:12:03.000Z, lGgCHAhdKXkx9IeQkqBrUPQHZA==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:07.336896 | severe   | DriftSyncStreamRepository | Error: updateAssetsV1 - websocket-batch | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3771.MOV, 2, 2025-12-21T14:12:03.000Z, 2025-12-24T10:42:13.239Z, 62, c986dca6-6c94-4163-b7ae-2857f667888a, 7EDOw2khWeB0AntcD5oJ8IX8BgE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:12:03.000Z, lGgCHAhdKXkx9IeQkqBrUPQHZA==, null, null, 0, null, null, IMG_3771.MOV, 2, 2025-12-21T14:12:03.000Z, 2025-12-24T10:42:13.239Z, 62, 7EDOw2khWeB0AntcD5oJ8IX8BgE=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:12:03.000Z, lGgCHAhdKXkx9IeQkqBrUPQHZA==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:50:07.335453 | info     | SyncStreamService    | Processing batch of 3 AssetUploadReadyV1 events |
2025-12-24 11:49:57.304595 | severe   | SyncStreamService    | Error processing AssetUploadReadyV1 websocket batch events | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3777.MOV, 2, 2025-12-21T14:13:52.000Z, 2025-12-24T10:42:07.746Z, 3, ee013837-5529-456e-8e96-5daaa1ef5819, 69Sd/KDCSaqY/DuqddNZaOMTiaQ=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:13:52.000Z, WEgGFApf5ZmXY1SXyIiLcJwH2A==, null, null, 0, null, null, IMG_3777.MOV, 2, 2025-12-21T14:13:52.000Z, 2025-12-24T10:42:07.746Z, 3, 69Sd/KDCSaqY/DuqddNZaOMTiaQ=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:13:52.000Z, WEgGFApf5ZmXY1SXyIiLcJwH2A==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:49:57.301497 | severe   | DriftSyncStreamRepository | Error: updateAssetsV1 - websocket-batch | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3777.MOV, 2, 2025-12-21T14:13:52.000Z, 2025-12-24T10:42:07.746Z, 3, ee013837-5529-456e-8e96-5daaa1ef5819, 69Sd/KDCSaqY/DuqddNZaOMTiaQ=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:13:52.000Z, WEgGFApf5ZmXY1SXyIiLcJwH2A==, null, null, 0, null, null, IMG_3777.MOV, 2, 2025-12-21T14:13:52.000Z, 2025-12-24T10:42:07.746Z, 3, 69Sd/KDCSaqY/DuqddNZaOMTiaQ=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:13:52.000Z, WEgGFApf5ZmXY1SXyIiLcJwH2A==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:49:57.299910 | info     | SyncStreamService    | Processing batch of 4 AssetUploadReadyV1 events |
2025-12-24 11:49:44.930208 | severe   | SyncStreamService    | Error processing AssetUploadReadyV1 websocket batch events | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3799.MOV, 2, 2025-12-21T14:16:29.000Z, 2025-12-24T10:42:10.397Z, 51, 11a100f6-2ca9-4e97-a370-e76957bf5dca, acNbzJ8cg4B2//7v28n5qcoryW0=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:16:29.000Z, E6kCJBR+N4eMqDwKK3R5cKcHlw==, null, null, 0, null, null, IMG_3799.MOV, 2, 2025-12-21T14:16:29.000Z, 2025-12-24T10:42:10.397Z, 51, acNbzJ8cg4B2//7v28n5qcoryW0=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:16:29.000Z, E6kCJBR+N4eMqDwKK3R5cKcHlw==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:49:44.925977 | severe   | DriftSyncStreamRepository | Error: updateAssetsV1 - websocket-batch | SqliteException(2067): while executing statement, UNIQUE constraint failed: remote_asset_entity.owner_id, remote_asset_entity.checksum, constraint failed (code 2067)
  Causing statement: INSERT INTO "remote_asset_entity" ("name", "type", "created_at", "updated_at", "duration_in_seconds", "id", "checksum", "is_favorite", "owner_id", "local_date_time", "thumb_hash", "deleted_at", "live_photo_video_id", "visibility", "stack_id", "library_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT("id") DO UPDATE SET "name" = ?, "type" = ?, "created_at" = ?, "updated_at" = ?, "duration_in_seconds" = ?, "checksum" = ?, "is_favorite" = ?, "owner_id" = ?, "local_date_time" = ?, "thumb_hash" = ?, "deleted_at" = ?, "live_photo_video_id" = ?, "visibility" = ?, "stack_id" = ?, "library_id" = ?, parameters: IMG_3799.MOV, 2, 2025-12-21T14:16:29.000Z, 2025-12-24T10:42:10.397Z, 51, 11a100f6-2ca9-4e97-a370-e76957bf5dca, acNbzJ8cg4B2//7v28n5qcoryW0=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:16:29.000Z, E6kCJBR+N4eMqDwKK3R5cKcHlw==, null, null, 0, null, null, IMG_3799.MOV, 2, 2025-12-21T14:16:29.000Z, 2025-12-24T10:42:10.397Z, 51, acNbzJ8cg4B2//7v28n5qcoryW0=, 0, 5f906dc1-4a00-475d-90aa-0ddef63de8d6, 2025-12-21T15:16:29.000Z, E6kCJBR+N4eMqDwKK3R5cKcHlw==, null, null, 0, null, null |
package:sqlite3/src/implementation/exception.dart 87                               throwException
package:sqlite3/src/implementation/statement.dart 109                              StatementImplementation._execute
package:sqlite3/src/implementation/statement.dart 289                              StatementImplementation.executeWith
package:sqlite3/src/statement.dart 81                                              CommonPreparedStatement.execute
package:drift/src/sqlite3/database.dart 131                                        Sqlite3Delegate.runBatchSync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched.<fn>
dart:async/future.dart 315                                                         new Future.sync
package:drift/native.dart 373                                                      _NativeDelegate.runBatched
package:drift/src/runtime/executor/helpers/engines.dart 128                        _BaseExecutor.runBatched.<fn>
package:drift/src/runtime/executor/helpers/engines.dart 62                         _BaseExecutor._synchronized
package:drift/src/runtime/executor/helpers/engines.dart 122                        _BaseExecutor.runBatched
package:drift/src/remote/server_impl.dart 170                                      ServerImplementation._runBatched
package:drift/src/remote/communication.dart 165                                    DriftCommunication.setRequestHandler.<fn>
===== asynchronous gap ===========================
package:drift/src/remote/communication.dart 113                                    DriftCommunication.request
package:drift/src/remote/client_impl.dart 84                                       _BaseExecutor.runBatched
package:drift/src/runtime/api/batch.dart 215                                       Batch._runWith
package:drift/src/runtime/api/batch.dart 199                                       Batch._commit
package:immich_mobile/infrastructure/repositories/sync_stream.repository.dart 179  SyncStreamRepository.updateAssetsV1
package:immich_mobile/domain/services/sync_stream.service.dart 237                 SyncStreamService.handleWsAssetUploadReadyV1Batch
package:immich_mobile/utils/isolate.dart 58                                        runInIsolateGentle.<fn>.<fn>
package:immich_mobile/utils/isolate.dart 37                                        runInIsolateGentle.<fn>
package:worker_manager/src/worker/worker_io.dart 106                               WorkerImpl._anotherIsolate.<fn>

2025-12-24 11:49:44.924872 | info     | SyncStreamService    | Processing batch of 1 AssetUploadReadyV1 events |

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    To triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions