immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
39.43k stars 1.86k forks source link

Video Larger than 22GB fails to upload #6143

Open pug306d opened 6 months ago

pug306d commented 6 months ago

The bug

I have a video recorded on my iPhone 13, 4K 60FPS that is 27GB in size and when I try to upload it using the iOS app it fails to upload. I have tried with the web interface and it gets to 75-80% and also fails. I also tried the CLI and although it reports it uploaded successfully it did not.

All of these attempts to upload leaves files in the /usr/src/app/upload/upload/ folder, the largest being 22GB so I assume there is a limit somewhere of 22GB on the upload?

I am not using a proxy and directly connecting to the immch_server container port for the uploads.

The OS that Immich Server is running on

Ubuntu 22.04

Version of Immich Server

1.91.4

Version of Immich Mobile App

1.91.4 build 132

Platform with the issue

Your docker-compose.yml content

version: "3.8"
name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh", "immich" ]
    environment:
      REDIS_HOSTNAME: immich_redis
      DB_HOSTNAME: immich_postgres
      DB_USERNAME: postgres
      DB_DATABASE_NAME: immich
      DB_PASSWORD: MYPASSWORD
      UPLOAD_LOCATION: ./library
      IMMICH_VERSION: release
    volumes:
      - /mnt/immich:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh", "microservices" ]
    environment:
      REDIS_HOSTNAME: immich_redis
      DB_HOSTNAME: immich_postgres
      DB_USERNAME: postgres
      DB_DATABASE_NAME: immich
      DB_PASSWORD: MYPASSWORD
      UPLOAD_LOCATION: ./library
      IMMICH_VERSION: release
    volumes:
      - /mnt/immich:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    depends_on:
      - redis
      - database
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    volumes:
      - model-cache:/cache
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:b6124ab2e45cc332e16398022a411d7e37181f21ff7874835e0180f56a09e82a
    restart: always

  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee
    environment:
      POSTGRES_PASSWORD: MYPASSWORD
      POSTGRES_USER: postgres
      POSTGRES_DB: immich
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

volumes:
  pgdata:
  model-cache:

Your .env content

Included above in compose file above.

Reproduction steps

1. Upload 27gb video file using mobile app
2. Upload 27gb video file using web interface
3. Upload 27gb video file using CLI
4. Confirm the file was not uploaded and that the uploaded file is partially uploaded to the upload folder.

Additional information

No response

alextran1502 commented 6 months ago

Can you provide the logs from the browser and the server?

etnoy commented 6 months ago

Do you have a reverse proxy in front of immich? They usually are the reason for big uploads failing

pug306d commented 6 months ago

Do you have a reverse proxy in front of immich? They usually are the reason for big uploads failing

Yes I found lots of other issues reported with reverse proxies in front of immich but I do not have this setup yet, I am connecting directly to the IP / Port of the server running the immich_server container.

pug306d commented 6 months ago

Can you provide the logs from the browser and the server?

[Nest] 7 - 01/04/2024, 1:14:30 PM LOG [SystemConfigService] LogLevel=debug (set via system config) [Nest] 7 - 01/04/2024, 1:14:30 PM DEBUG [StorageTemplateService] Received config, compiling storage template: {{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}} [Nest] 7 - 01/04/2024, 1:14:30 PM DEBUG [CommunicationRepository] Server event: config:update (send) [Nest] 7 - 01/04/2024, 1:18:12 PM LOG [CommunicationRepository] Websocket Disconnect: g538_WZ-s9LjNfBuAAAs [Nest] 7 - 01/04/2024, 1:18:13 PM LOG [CommunicationRepository] Websocket Connect: 0Dkd01MforpiaY-AAAAu [Nest] 7 - 01/04/2024, 2:09:54 PM LOG [CommunicationRepository] Websocket Connect: _hjsjWIz30rtPajJAAAw [Nest] 7 - 01/04/2024, 2:09:59 PM LOG [CommunicationRepository] Websocket Disconnect: _hjsjWIz30rtPajJAAAw [Nest] 7 - 01/04/2024, 2:18:27 PM LOG [CommunicationRepository] Websocket Connect: w8ei3MG1grEdQfWqAAAy [Nest] 7 - 01/04/2024, 2:18:31 PM LOG [CommunicationRepository] Websocket Disconnect: w8ei3MG1grEdQfWqAAAy

I do not see anything in the Microsoft Edge browser console log - is there somewhere else I should look for the logs on the browser?

Hadatko commented 6 months ago

Hello, i have same issue. Mobile is keeping uploading the file with failure state. I think this can be by missing proxy timeout setup as mentioned here and i added it. But uploading using browser in notebook fails immediately with error code for too big data to upload Any workround for that? image

Hadatko commented 6 months ago

FYI uploading file from mobile behaves weird after increasing proxu timeout. It is uploading to 97% then it drop to 20% then to 52% then to 2% ...

Hadatko commented 6 months ago
[Nest] 7  - 01/07/2024, 9:28:53 AM     LOG [CommunicationRepository] Websocket Disconnect: OSpxMVVhMM798um3AACF
[Nest] 7  - 01/07/2024, 9:30:14 AM     LOG [CommunicationRepository] Websocket Connect:    PwSiYKFwnThBCMbSAACH
[Nest] 7  - 01/07/2024, 9:30:48 AM     LOG [CommunicationRepository] Websocket Disconnect: PwSiYKFwnThBCMbSAACH
[Nest] 7  - 01/07/2024, 9:30:49 AM     LOG [CommunicationRepository] Websocket Connect:    ti3abreU21eQ4G9fAACJ
[Nest] 7  - 01/07/2024, 9:31:14 AM    WARN [ExpressAdapter] Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses
[Nest] 7  - 01/07/2024, 9:32:05 AM     LOG [CommunicationRepository] Websocket Disconnect: ti3abreU21eQ4G9fAACJ
[Nest] 7  - 01/07/2024, 9:32:06 AM     LOG [CommunicationRepository] Websocket Connect:    icUmLV5QJPr5H5T0AACL
[Nest] 7  - 01/07/2024, 9:32:22 AM     LOG [CommunicationRepository] Websocket Disconnect: icUmLV5QJPr5H5T0AACL
[Nest] 7  - 01/07/2024, 9:33:46 AM     LOG [CommunicationRepository] Websocket Connect:    HWfqD5FiTIeaeu8iAACN
[Nest] 7  - 01/07/2024, 9:34:06 AM     LOG [CommunicationRepository] Websocket Connect:    uKVTUFJwvn8LeJtoAACP
[Nest] 7  - 01/07/2024, 9:34:06 AM   ERROR [UnauthorizedException: Authentication required
    at AuthService.validate (/usr/src/app/dist/domain/auth/auth.service.js:113:15)
    at CommunicationRepository.handleConnection (/usr/src/app/dist/infra/repositories/communication.repository.js:52:49)
    at Object.next (/usr/src/app/node_modules/@nestjs/websockets/web-sockets-controller.js:77:47)
    at ConsumerObserver.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:113:33)
    at Subscriber._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:80:26)
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js:18:28
    at OperatorSubscriber._this._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:33:21)
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/Subject.js:69:34] Websocket connection error: UnauthorizedException: Authentication required
[Nest] 7  - 01/07/2024, 9:34:06 AM     LOG [CommunicationRepository] Websocket Disconnect: uKVTUFJwvn8LeJtoAACP
[Nest] 7  - 01/07/2024, 9:35:36 AM     LOG [CommunicationRepository] Websocket Connect:    TPNz43ln8GGr3kVcAACR
[Nest] 7  - 01/07/2024, 9:35:48 AM     LOG [CommunicationRepository] Websocket Disconnect: TPNz43ln8GGr3kVcAACR
[Nest] 7  - 01/07/2024, 9:36:36 AM     LOG [CommunicationRepository] Websocket Connect:    zBFVlcjWOxMpio0ZAACT
[Nest] 7  - 01/07/2024, 9:38:44 AM     LOG [CommunicationRepository] Websocket Disconnect: zBFVlcjWOxMpio0ZAACT
[Nest] 7  - 01/07/2024, 9:40:29 AM     LOG [CommunicationRepository] Websocket Connect:    Bn1X26N3t6xQIm1jAACV
[Nest] 7  - 01/07/2024, 9:42:35 AM     LOG [CommunicationRepository] Websocket Disconnect: Bn1X26N3t6xQIm1jAACV
[Nest] 7  - 01/07/2024, 9:49:35 AM     LOG [CommunicationRepository] Websocket Connect:    LD7jNApmF7PvqYZcAACX
[Nest] 7  - 01/07/2024, 9:50:11 AM     LOG [CommunicationRepository] Websocket Disconnect: LD7jNApmF7PvqYZcAACX
[Nest] 7  - 01/07/2024, 9:50:24 AM     LOG [CommunicationRepository] Websocket Connect:    XiLyimu56oB_j2LBAACZ
[Nest] 7  - 01/07/2024, 9:52:09 AM     LOG [CommunicationRepository] Websocket Disconnect: HWfqD5FiTIeaeu8iAACN
[Nest] 7  - 01/07/2024, 9:52:09 AM     LOG [CommunicationRepository] Websocket Disconnect: ZAvMcwg6VV32OUw5AAB3
[Nest] 7  - 01/07/2024, 9:52:35 AM     LOG [CommunicationRepository] Websocket Disconnect: XiLyimu56oB_j2LBAACZ
[Nest] 7  - 01/07/2024, 9:57:05 AM     LOG [CommunicationRepository] Websocket Connect:    myPz85eebBTo9KMcAACb
[Nest] 7  - 01/07/2024, 9:57:10 AM     LOG [CommunicationRepository] Websocket Disconnect: myPz85eebBTo9KMcAACb
[Nest] 7  - 01/07/2024, 10:07:47 AM     LOG [CommunicationRepository] Websocket Connect:    syw1-CGHHLaS2fJIAACd
[Nest] 7  - 01/07/2024, 10:07:47 AM   ERROR [UnauthorizedException: Authentication required
    at AuthService.validate (/usr/src/app/dist/domain/auth/auth.service.js:113:15)
    at CommunicationRepository.handleConnection (/usr/src/app/dist/infra/repositories/communication.repository.js:52:49)
    at Object.next (/usr/src/app/node_modules/@nestjs/websockets/web-sockets-controller.js:77:47)
    at ConsumerObserver.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:113:33)
    at Subscriber._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:80:26)
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js:18:28
    at OperatorSubscriber._this._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:33:21)
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/Subject.js:69:34] Websocket connection error: UnauthorizedException: Authentication required
[Nest] 7  - 01/07/2024, 10:07:47 AM     LOG [CommunicationRepository] Websocket Disconnect: syw1-CGHHLaS2fJIAACd
[Nest] 7  - 01/07/2024, 10:07:57 AM     LOG [CommunicationRepository] Websocket Connect:    Oe4mjjO_dyMuYR-UAACf
[Nest] 7  - 01/07/2024, 10:07:57 AM     LOG [CommunicationRepository] Websocket Disconnect: Oe4mjjO_dyMuYR-UAACf
[Nest] 7  - 01/07/2024, 10:07:57 AM   ERROR [UnauthorizedException: Authentication required
    at AuthService.validate (/usr/src/app/dist/domain/auth/auth.service.js:113:15)
    at CommunicationRepository.handleConnection (/usr/src/app/dist/infra/repositories/communication.repository.js:52:49)
    at Object.next (/usr/src/app/node_modules/@nestjs/websockets/web-sockets-controller.js:77:47)
    at ConsumerObserver.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:113:33)
    at Subscriber._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:80:26)
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js:18:28
    at OperatorSubscriber._this._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:33:21)
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/Subject.js:69:34] Websocket connection error: UnauthorizedException: Authentication required
[Nest] 7  - 01/07/2024, 10:44:52 AM     LOG [CommunicationRepository] Websocket Connect:    h_yTQkNcr1gAAdbYAACh
[Nest] 7  - 01/07/2024, 10:44:52 AM   ERROR [UnauthorizedException: Authentication required
    at AuthService.validate (/usr/src/app/dist/domain/auth/auth.service.js:113:15)
    at CommunicationRepository.handleConnection (/usr/src/app/dist/infra/repositories/communication.repository.js:52:49)
    at Object.next (/usr/src/app/node_modules/@nestjs/websockets/web-sockets-controller.js:77:47)
    at ConsumerObserver.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:113:33)
    at Subscriber._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:80:26)
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js:18:28
    at OperatorSubscriber._this._next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:33:21)
[Nest] 7  - 01/07/2024, 10:44:52 AM     LOG [CommunicationRepository] Websocket Disconnect: h_yTQkNcr1gAAdbYAACh
    at Subscriber.next (/usr/src/app/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at /usr/src/app/node_modules/rxjs/dist/cjs/internal/Subject.js:69:34] Websocket connection error: UnauthorizedException: Authentication required
[Nest] 7  - 01/07/2024, 12:19:05 PM     LOG [CommunicationRepository] Websocket Connect:    o9yROXVjaQjsL4xLAACj
[Nest] 7  - 01/07/2024, 12:19:25 PM     LOG [CommunicationRepository] Websocket Disconnect: o9yROXVjaQjsL4xLAACj
[Nest] 7  - 01/07/2024, 12:21:30 PM     LOG [CommunicationRepository] Websocket Connect:    xtYg2IAT97XLrYbNAACl
[Nest] 7  - 01/07/2024, 12:23:32 PM     LOG [CommunicationRepository] Websocket Disconnect: xtYg2IAT97XLrYbNAACl
[Nest] 7  - 01/07/2024, 12:28:54 PM     LOG [CommunicationRepository] Websocket Connect:    9g98cZvMkaBnAV30AACn
[Nest] 7  - 01/07/2024, 12:28:56 PM     LOG [CommunicationRepository] Websocket Disconnect: 9g98cZvMkaBnAV30AACn
[Nest] 7  - 01/07/2024, 12:32:11 PM     LOG [CommunicationRepository] Websocket Connect:    ETM5yijMgsLRmm-aAACp
[Nest] 7  - 01/07/2024, 12:37:29 PM     LOG [CommunicationRepository] Websocket Connect:    w5JukOgRMQ8tE8GaAACr
[Nest] 7  - 01/07/2024, 12:37:30 PM     LOG [CommunicationRepository] Websocket Connect:    6zbRRqRnTZIWOVa4AACt
[Nest] 7  - 01/07/2024, 12:37:36 PM     LOG [CommunicationRepository] Websocket Disconnect: ETM5yijMgsLRmm-aAACp
[Nest] 7  - 01/07/2024, 12:37:51 PM     LOG [CommunicationRepository] Websocket Connect:    ou2BqA6F_S5Fp3qMAACv
[Nest] 7  - 01/07/2024, 12:39:53 PM     LOG [CommunicationRepository] Websocket Disconnect: ou2BqA6F_S5Fp3qMAACv
[Nest] 7  - 01/07/2024, 12:42:36 PM     LOG [CommunicationRepository] Websocket Connect:    4ST9d-24Y2T9JeZOAACx
[Nest] 7  - 01/07/2024, 12:44:37 PM     LOG [CommunicationRepository] Websocket Disconnect: 4ST9d-24Y2T9JeZOAACx
[Nest] 7  - 01/07/2024, 12:48:49 PM     LOG [CommunicationRepository] Websocket Connect:    q_8RLdxD1lBTypVeAACz
[Nest] 7  - 01/07/2024, 12:48:52 PM     LOG [CommunicationRepository] Websocket Disconnect: q_8RLdxD1lBTypVeAACz
[Nest] 7  - 01/07/2024, 12:54:55 PM     LOG [CommunicationRepository] Websocket Disconnect: w5JukOgRMQ8tE8GaAACr
[Nest] 7  - 01/07/2024, 12:54:55 PM     LOG [CommunicationRepository] Websocket Disconnect: 6zbRRqRnTZIWOVa4AACt
[Nest] 7  - 01/07/2024, 12:56:38 PM     LOG [CommunicationRepository] Websocket Connect:    jsAYWjssufYiUUO0AAC1
[Nest] 7  - 01/07/2024, 12:56:39 PM     LOG [CommunicationRepository] Websocket Connect:    iZEfYmwtTGMksc7wAAC3
[Nest] 7  - 01/07/2024, 12:56:42 PM     LOG [CommunicationRepository] Websocket Connect:    gVxCGJORb4Hpjfb_AAC5
[Nest] 7  - 01/07/2024, 12:57:12 PM     LOG [CommunicationRepository] Websocket Disconnect: iZEfYmwtTGMksc7wAAC3
[Nest] 7  - 01/07/2024, 12:59:19 PM     LOG [CommunicationRepository] Websocket Connect:    NgEMK4GUl9x2SiyXAAC7
[Nest] 7  - 01/07/2024, 1:01:28 PM     LOG [CommunicationRepository] Websocket Disconnect: NgEMK4GUl9x2SiyXAAC7
[Nest] 7  - 01/07/2024, 1:01:33 PM     LOG [CommunicationRepository] Websocket Connect:    6au3N3lKPs3yuX7mAAC9
Hadatko commented 6 months ago

It looks like after setting this in nginx for immich i was able to push file to the server

proxy_read_timeout 3600;
proxy_buffering      off;
proxy_request_buffering off;
client_max_body_size 0;
pug306d commented 6 months ago

It looks like after setting this in nginx for immich i was able to push file to the server

proxy_read_timeout 3600;
proxy_buffering      off;
proxy_request_buffering off;
client_max_body_size 0;

Thanks but I do not have a proxy in front of my Immich server, I’m accessing the container directly.

pug306d commented 4 months ago

Still having the same issue with 1.98.2 build 144.

The automatic backup feature just retries this file over and over also rather than failing it and moving on to backup the rest of the library in my iPhone

alextran1502 commented 4 months ago

@pug306d for the current workaround, move this specific video to a different album and exclude that album in the backup album selection

pug306d commented 4 months ago

The current iPhone album I backup is recents which contains all my photos as I want to backup everything automatically - a lot of my photos aren’t in specific albums either so not sure how I can automatically backup everything old and new but exclude just this one or a few videos?

alextran1502 commented 4 months ago

You can just create a new album and exclude it

principino1984 commented 2 months ago

same is happening to me, but with even smaller size. I've found a limit of around 1.25gb that are not being uploaded neither via iOS app neither via webapp (btw I'm under cloudfare tunnel):

Screenshot 2024-04-23 alle 21 25 34

If I switch to direct IP everything works smoothly:

Screenshot 2024-04-23 alle 21 27 33
pug306d commented 2 months ago

same is happening to me, but with even smaller size. I've found a limit of around 1.25gb that are not being uploaded neither via iOS app neither via webapp (btw I'm under cloudfare tunnel):

Screenshot 2024-04-23 alle 21 25 34

If I switch to direct IP everything works smoothly:

Screenshot 2024-04-23 alle 21 27 33

Your issue will be different to the one I posted here since for you it works when you switch to direct IP - there are lots of posts about reconfiguring proxies in front of Immich. The issue here I logged is it fails for large files even when going direct to the IP with no tunnel / proxy etc in between.

principino1984 commented 2 months ago

Sorry, I was looking at all the posts and thought this one the one that fit the best my problem. Got your point now.

pug306d commented 1 month ago

Just upgraded to 1.105.1 and this is still an issue

NickIAm commented 1 month ago

I am also having this problem. I'm running 1.105.1 and my video files are 709 MB and 449 MB. I am on a very slow connection, and it seems to just time out on the server side. Tried to upload with the android app and CLI. The CLI just doesn't seem to start at all. I don't have a proxy in front of immich, I connect to it directly through tailscale. The android app just keeps retrying continuously and drains my battery. #1674 May be relevant. This is the error I found in the Firefox debug console

[handleError]: Unable to upload file 
error { target: XMLHttpRequest, isTrusted: true, lengthComputable: false, loaded: 0, total: 0, srcElement: XMLHttpRequest, eventPhase: 0, bubbles: false, cancelable: false, returnValue: true, … }
​
bubbles: false
​
cancelBubble: false
​
cancelable: false
​
composed: false
​
currentTarget: null
​
defaultPrevented: false
​
eventPhase: 0
​
explicitOriginalTarget: XMLHttpRequest { readyState: 4, timeout: 0, withCredentials: false, … }
​
isTrusted: true
​
lengthComputable: false
​
loaded: 0
​
originalTarget: XMLHttpRequest { readyState: 4, timeout: 0, withCredentials: false, … }
​
returnValue: true
​
srcElement: XMLHttpRequest { readyState: 4, timeout: 0, withCredentials: false, … }
​
target: XMLHttpRequest { readyState: 4, timeout: 0, withCredentials: false, … }
​
timeStamp: 10120544
​
total: 0
​
type: "error"
​
<get isTrusted()>: function isTrusted()
​
<prototype>: ProgressEventPrototype { lengthComputable: Getter, loaded: Getter, total: Getter, … }
​​
constructor: function ProgressEvent()
​​
lengthComputable: 
​​
loaded: 
​​
total: 
​​
Symbol(Symbol.toStringTag): "ProgressEvent"
​​
<get lengthComputable()>: function lengthComputable()
​​
<get loaded()>: function loaded()
​​
<get total()>: function total()
​​
<prototype>: EventPrototype { composedPath: composedPath(), stopPropagation: stopPropagation(), stopImmediatePropagation: stopImmediatePropagation(), … }
 undefined handle-error.De8dtwU7.js:1:593
    Immutable 2

And from the immich-server container

[Nest] 7  - 05/21/2024, 12:27:13 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: qph3uPZpyftbGW7AAACT
[Nest] 7  - 05/21/2024, 12:27:13 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: nJoc55mSRNpkoWhaAACU
[Nest] 7  - 05/21/2024, 12:38:09 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    lU4OoL2IWkiWtbKgAACW
[Nest] 7  - 05/21/2024, 12:38:09 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 12:38:10 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    DA6zgwSsCk5Q8nqcAACZ
[Nest] 7  - 05/21/2024, 12:38:10 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    AOipfulj60enu2KyAACa
[Nest] 7  - 05/21/2024, 12:38:10 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 12:38:10 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 12:38:11 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    waRubxiELe_mlvxsAACc
[Nest] 7  - 05/21/2024, 12:38:11 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 12:38:19 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: waRubxiELe_mlvxsAACc
[Nest] 7  - 05/21/2024, 12:38:19 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: AOipfulj60enu2KyAACa
[Nest] 7  - 05/21/2024, 12:38:19 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: lU4OoL2IWkiWtbKgAACW
[Nest] 7  - 05/21/2024, 12:38:19 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: DA6zgwSsCk5Q8nqcAACZ
[Nest] 7  - 05/21/2024, 1:37:49 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    UwoOouvEYTBmc-RJAACe
[Nest] 7  - 05/21/2024, 1:37:49 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 1:43:15 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: UwoOouvEYTBmc-RJAACe
[Nest] 7  - 05/21/2024, 1:52:20 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    fc3CcVUomxlOzSP6AACg
[Nest] 7  - 05/21/2024, 1:52:20 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 1:53:31 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: fc3CcVUomxlOzSP6AACg
[Nest] 7  - 05/21/2024, 2:03:00 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    K2rv975bUhIihTZwAACi
[Nest] 7  - 05/21/2024, 2:03:00 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 2:04:12 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: K2rv975bUhIihTZwAACi
[Nest] 7  - 05/21/2024, 2:13:51 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    gMMfuOoHU9Nwxt9XAACk
[Nest] 7  - 05/21/2024, 2:13:51 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 2:19:15 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: gMMfuOoHU9Nwxt9XAACk
[Nest] 7  - 05/21/2024, 12:37:42 PM     LOG [ImmichServer] [EventRepository] Websocket Connect:    DBoSe4fDHUoj0Z9oAACm
[Nest] 7  - 05/21/2024, 12:37:42 PM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 12:39:03 PM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: DBoSe4fDHUoj0Z9oAACm
[Nest] 7  - 05/21/2024, 8:53:23 PM     LOG [ImmichServer] [EventRepository] Websocket Connect:    PNPWr_nhSuHro0kSAACo
[Nest] 7  - 05/21/2024, 8:53:23 PM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/21/2024, 8:53:27 PM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: PNPWr_nhSuHro0kSAACo
[Nest] 7  - 05/22/2024, 2:30:20 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    GvDVcTHZttbFviy-AACq
[Nest] 7  - 05/22/2024, 2:30:20 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/22/2024, 3:17:31 AM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Failed to serve file
[Nest] 7  - 05/22/2024, 3:17:31 AM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Error: write EPIPE
[Nest] 7  - 05/22/2024, 3:17:31 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: GvDVcTHZttbFviy-AACq
[Nest] 7  - 05/22/2024, 3:21:48 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    j-l9lkbK269BoRuVAACs
[Nest] 7  - 05/22/2024, 3:21:48 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/22/2024, 3:22:10 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: j-l9lkbK269BoRuVAACs
[Nest] 7  - 05/22/2024, 7:17:39 PM     LOG [ImmichServer] [EventRepository] Websocket Connect:    OHMm-_KQ4ZZkwdK6AACu
[Nest] 7  - 05/22/2024, 7:17:39 PM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/22/2024, 7:17:46 PM     LOG [ImmichServer] [EventRepository] Websocket Connect:    3lTH-Y087rltUvBkAACw
[Nest] 7  - 05/22/2024, 7:17:46 PM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/22/2024, 7:22:15 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Failed to serve file
[Nest] 7  - 05/22/2024, 7:22:15 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Error: write EPIPE
[Nest] 7  - 05/22/2024, 7:23:31 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Failed to serve file
[Nest] 7  - 05/22/2024, 7:23:31 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Error: write EPIPE
[Nest] 7  - 05/22/2024, 7:23:41 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Failed to serve file
[Nest] 7  - 05/22/2024, 7:23:41 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Error: write EPIPE
[Nest] 7  - 05/22/2024, 7:23:41 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Failed to serve file
[Nest] 7  - 05/22/2024, 7:23:41 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Error: write EPIPE
[Nest] 7  - 05/22/2024, 7:23:43 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Failed to serve file
[Nest] 7  - 05/22/2024, 7:23:43 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Error: write EPIPE
[Nest] 7  - 05/22/2024, 7:24:42 PM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: OHMm-_KQ4ZZkwdK6AACu
[Nest] 7  - 05/22/2024, 7:24:52 PM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: 3lTH-Y087rltUvBkAACw
[Nest] 7  - 05/22/2024, 7:29:02 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Failed to serve file
[Nest] 7  - 05/22/2024, 7:29:02 PM   ERROR [ImmichServer] [Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
    at WriteWrap.callbackTrampoline (node:internal/async_hooks:130:17)] Error: write EPIPE
[Nest] 7  - 05/22/2024, 9:02:21 PM     LOG [ImmichServer] [EventRepository] Websocket Connect:    hj8OtqsLdS0dHR4BAACy
[Nest] 7  - 05/22/2024, 9:02:21 PM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/22/2024, 9:18:20 PM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: hj8OtqsLdS0dHR4BAACy
[Nest] 7  - 05/22/2024, 9:18:33 PM     LOG [ImmichServer] [EventRepository] Websocket Connect:    mdp7KCDhrEsIkq4XAAC0
[Nest] 7  - 05/22/2024, 9:18:33 PM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/22/2024, 11:14:40 PM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: mdp7KCDhrEsIkq4XAAC0
[Nest] 7  - 05/23/2024, 12:02:49 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    sBJNbueCJAJ-9UITAAC2
[Nest] 7  - 05/23/2024, 12:02:49 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/23/2024, 12:04:36 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: sBJNbueCJAJ-9UITAAC2
[Nest] 7  - 05/23/2024, 12:20:35 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    aKg8sASTrw592mD-AAC4
[Nest] 7  - 05/23/2024, 12:20:35 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)
[Nest] 7  - 05/23/2024, 12:20:37 AM     LOG [ImmichServer] [EventRepository] Websocket Disconnect: aKg8sASTrw592mD-AAC4
[Nest] 7  - 05/23/2024, 12:44:14 AM     LOG [ImmichServer] [EventRepository] Websocket Connect:    Rg9jrt2ZTzhjMXmYAAC6
[Nest] 7  - 05/23/2024, 12:44:14 AM   DEBUG [ImmichServer] [EventRepository] Server event: websocket.connect (send)