-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Open
Description
I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
- Yes
The bug
Bug description
When deploying Immich on a Synology NAS, the "People" (faces) page has a frontend loading issue:
- The first click on a person’s avatar correctly opens the person’s photo collection page.
- After returning to the people list and clicking another avatar, the page becomes blank.
- Only a manual refresh (Ctrl+F5) or pressing Enter in the address bar will load the page correctly.
With the same configuration and version deployed on a PC (Ubuntu), this issue does not occur. Clicking avatars always works as expected.
Steps to reproduce
- Deploy Immich on Synology NAS using Docker (image:
ghcr.io/immich-app/immich-server:release). - Open the web interface → go to the “People” tab.
- Click on one person’s avatar → page loads correctly.
- Go back to the people list → click another avatar → page is blank.
- Refresh the page or press Enter in the address bar → photos load correctly.
Expected behavior
Clicking a person’s avatar should directly display the person’s photo collection page without requiring a manual refresh.
Actual behavior
- First click works fine.
- Subsequent clicks on other avatars result in a blank page.
- Manual refresh or pressing Enter is required to display the photos.
Browser console error
Uncaught Error: https://svelte.dev/e/state_unsafe_mutation
at Yn (RhazAcOO.js:1:2161)
at J (RhazAcOO.js:1:13122)
at onFocusOut (17.DikGc65P.js:1:8140)
at HTMLDivElement.E (Bd29en_E.js:1:764)
at Ar (RhazAcOO.js:1:19734)
at C (RhazAcOO.js:1:19423)
at u (RhazAcOO.js:2:1744)
at RhazAcOO.js:1:19961
at xr (RhazAcOO.js:1:20055)
at Re (RhazAcOO.js:1:19940)
### The OS that Immich Server is running on
NAS environment: Synology DS918+, DSM 7.x, Docker PC environment: Ubuntu 20.04, Docker
### Version of Immich Server
Immich version: v2.2.3 (release image)
### Version of Immich Mobile App
Immich version: v2.2.3
### Platform with the issue
- [ ] Server
- [ ] Web
- [ ] Mobile
### Device make and model
Browser: Chrome/Edge latest
### Your docker-compose.yml content
```YAML
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION}
restart: always
depends_on:
- database
- redis
- immich-microservices
environment:
TZ: ${TZ}
DB_HOSTNAME: ${DB_HOSTNAME}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE_NAME: ${DB_DATABASE_NAME}
REDIS_HOSTNAME: ${REDIS_HOSTNAME}
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /volume1/照片视频备份:/mnt/external:ro
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/immich/geodata:/build/geodata
- /volume1/docker/immich/langs:/usr/src/app/server/node_modules/i18n-iso-countries/langs
ports:
- "2283:2283"
labels:
- "com.centurylinklabs.watchtower.enable=false"
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION}
restart: always
depends_on:
- database
- redis
environment:
TZ: ${TZ}
DB_HOSTNAME: ${DB_HOSTNAME}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE_NAME: ${DB_DATABASE_NAME}
REDIS_HOSTNAME: ${REDIS_HOSTNAME}
volumes:
- /volume1/照片视频备份:/mnt/external:ro
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
labels:
- "com.centurylinklabs.watchtower.enable=false"
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION}
restart: always
volumes:
- ${MODEL_CACHE_DIR}:/cache
- /volume1/照片视频备份:/mnt/external:ro
- /etc/localtime:/etc/localtime:ro
labels:
- "com.centurylinklabs.watchtower.enable=false"
redis:
container_name: immich_redis
image: redis:6.2
restart: always
# Redis 可以让 Watchtower 自动更新
labels:
- "com.centurylinklabs.watchtower.enable=true"
database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
environment:
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: "--data-checksums"
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
- /etc/localtime:/etc/localtime:ro
shm_size: 128mb
restart: always
labels:
- "com.centurylinklabs.watchtower.enable=false"
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --cleanup --interval 86400
Your .env content
UPLOAD_LOCATION=/home/huyan/immich/immich-library
MODEL_CACHE_DIR=/home/huyan/immich/model-cache
DB_DATA_LOCATION=/home/huyan/immich/dbdata
TZ=Asia/Shanghai
IMMICH_VERSION=release
DB_USERNAME=postgres
DB_PASSWORD=MyNewSecurePass123
DB_DATABASE_NAME=immich
DB_HOSTNAME=database
REDIS_HOSTNAME=redis # 容器网络服务名称Reproduction steps
Reproduction steps
- Open Immich UI:
Navigate to your NAS deployment URL (e.g., http://:2283).
2.Go to People tab:
Click the People section to view detected faces.
3.Open first person:
Click any person’s avatar.
Observe: the person’s photo collection page loads correctly.
4.Return to list:
Use the back action (browser Back or UI Back) to return to the People list.
5.Open another person:
Click a different person’s avatar.
Observe: the page becomes blank (no photos rendered).
6.Force load to display:
Press Enter in the browser address bar, or do a hard refresh (Ctrl+F5).
Observe: the person’s photo collection then loads correctly.
7.Confirm it’s intermittent but frequent:
Repeat steps 4–6 on multiple avatars.
Observe: the blank-page behavior occurs most of the time; occasionally it loads without refresh.
8.Capture console error (optional but recommended):
Press F12 → open Console.
Perform steps 3–5 again and record the error:
Uncaught Error: https://svelte.dev/e/state_unsafe_mutation
Include stack trace if available.
9.Environment parity check:
Repeat the same steps on a PC (Ubuntu) deployment of Immich with the same version and configuration.
Observe: the issue does not occur; every avatar click loads the page normally.
Relevant log output
Additional information
The issue only occurs on NAS deployment. PC deployment with the same configuration and version works fine.
Suspect this is related to frontend routing or Svelte state management behaving differently depending on environment.
Please confirm if this is a frontend bug and advise on possible fixes.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
To triage