[Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, GET} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PUT} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, GET} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, PUT} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/license, DELETE} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, GET} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, PUT} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, DELETE} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/:id, GET} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, POST} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, DELETE} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/users/:id/profile-image, GET} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RoutesResolver] ViewController {/api/view}: [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/view/folder/unique-paths, GET} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:RouterExplorer] Mapped {/api/view/folder, GET} route [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:NestApplication] Nest application successfully started [Nest] 19 - 08/20/2025, 10:02:51 AM LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v1.138.1] [production] [Nest] 19 - 08/20/2025, 10:04:29 AM LOG [Api:EventRepository] Websocket Connect: Vd0-JZarK93skfDvAAAB Query failed : { durationMs: 13.754797999979928, error: PostgresError: duplicate key value violates unique constraint "UQ_assets_owner_checksum" at ErrorResponse (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:794:26) at handle (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:480:6) at Socket.data (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:315:9) at Socket.emit (node:events:518:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) at TCP.onStreamRead (node:internal/stream_base_commons:189:23) at TCP.callbackTrampoline (node:internal/async_hooks:130:17) { severity_local: 'ERROR', severity: 'ERROR', code: '23505', detail: 'Key ("ownerId", checksum)=(d35380fb-6faf-4ac1-9867-84553eb11c42, \\x273744f48aba7980b12197daa5e08097e5a7aeb3) already exists.', schema_name: 'public', table_name: 'asset', constraint_name: 'UQ_assets_owner_checksum', file: 'nbtinsert.c', line: '663', routine: '_bt_check_unique' }, sql: `with "asset" as (update "asset" set "id" = $1, "checksum" = $2, "originalPath" = $3, "type" = $4, "originalFileName" = $5, "deviceAssetId" = $6, "deviceId" = $7, "fileCreatedAt" = $8, "fileModifiedAt" = $9, "localDateTime" = $10, "duration" = $11, "livePhotoVideoId" = $12, "sidecarPath" = $13 where "id" = $14::uuid returning *) select "asset".*, to_json("asset_exif") as "exifInfo", (select coalesce(json_agg(agg), '[]') from (select "asset_face".*, "person" as "person" from "asset_face" left join lateral (select "person".* from "person" where "asset_face"."personId" = "person"."id") as "person" on true where "asset_face"."assetId" = "asset"."id" and "asset_face"."deletedAt" is null) as agg) as "faces" from "asset" left join "asset_exif" on "asset"."id" = "asset_exif"."assetId"`, params: [ 'cc9752d3-29a0-4029-a8c9-ba1922ac51d3', , '/data/upload/d35380fb-6faf-4ac1-9867-84553eb11c42/88/1b/881ba8ef-159d-4d1f-9ec7-18abfe450f13.MP4',  'VIDEO', 'MVIMG_20200916_183322.MP4', 'MVIMG_20200916_183322.MP4-1208239', 'JPC', 2020-09-16T19:33:22.000Z, 2025-08-20T10:14:05.000Z, 2020-09-16T19:33:22.000Z, '00:00:00.000000',  ,  , 'cc9752d3-29a0-4029-a8c9-ba1922ac51d3' ] } Query failed : { durationMs: 9.166498000035062, error: PostgresError: duplicate key value violates unique constraint "UQ_assets_owner_checksum" at ErrorResponse (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:794:26) at handle (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:480:6) at Socket.data (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:315:9) at Socket.emit (node:events:518:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) at TCP.onStreamRead (node:internal/stream_base_commons:189:23) at TCP.callbackTrampoline (node:internal/async_hooks:130:17) { severity_local: 'ERROR', severity: 'ERROR', code: '23505', detail: 'Key ("ownerId", checksum)=(d35380fb-6faf-4ac1-9867-84553eb11c42, \\xc075c599f3b6ebc8d44747857df60f5a9a1aad9c) already exists.', schema_name: 'public', table_name: 'asset', constraint_name: 'UQ_assets_owner_checksum', file: 'nbtinsert.c', line: '663', routine: '_bt_check_unique' }, sql: `with "asset" as (update "asset" set "id" = $1, "checksum" = $2, "originalPath" = $3, "type" = $4, "originalFileName" = $5, "deviceAssetId" = $6, "deviceId" = $7, "fileCreatedAt" = $8, "fileModifiedAt" = $9, "localDateTime" = $10, "duration" = $11, "livePhotoVideoId" = $12, "sidecarPath" = $13 where "id" = $14::uuid returning *) select "asset".*, to_json("asset_exif") as "exifInfo", (select coalesce(json_agg(agg), '[]') from (select "asset_face".*, "person" as "person" from "asset_face" left join lateral (select "person".* from "person" where "asset_face"."personId" = "person"."id") as "person" on true where "asset_face"."assetId" = "asset"."id" and "asset_face"."deletedAt" is null) as agg) as "faces" from "asset" left join "asset_exif" on "asset"."id" = "asset_exif"."assetId"`, params: [ '523a3099-fbff-4e1f-8cf2-f9e310b9bb3b', , '/data/upload/d35380fb-6faf-4ac1-9867-84553eb11c42/47/66/4766780e-cb5f-492b-9ed9-ad8c406faaa1.MP4',  'VIDEO', 'MVIMG_20200918_132737.MP4', 'MVIMG_20200918_132737.MP4-2401631', 'JPC', 2020-09-18T14:27:37.000Z, 2025-08-20T10:14:09.000Z, 2020-09-18T14:27:37.000Z, '00:00:00.000000',  ,  , '523a3099-fbff-4e1f-8cf2-f9e310b9bb3b' ] }