I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
I've noticed an inconsistency in the photos and videos shown in an album between the Android app and the web interface.
Some media is missing in the Android app within an album. This seems to come close to #23057, however unlike that issue I can still see the affected photos and videos in the normal timeline. When I try to add them to the album, I get the message "Already added to the album".
Opening the same album in the web interface shows all media correctly.
I already tried:
- Local and server sync from within the app
- Reinstalling the app
- Creating a new album
However nothing of this fixed it.
In Web:
In the App:
Trying to add media to album from timeline:
https://imgur.com/a/0j8xIgD
The OS that Immich Server is running on
Ubuntu 24.04.4 LTS
Version of Immich Server
v2.7.5
Version of Immich Mobile App
v2.7.4 build.3045
Platform with the issue
Device make and model
Pixel 7 Pro Android 16
Your docker-compose.yml content
#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
labels:
# Traefik labels:
- "traefik.enable=true"
- "traefik.http.routers.immich-secure.rule=Host(`DOMAIN`)"
- "traefik.http.routers.immich-secure.entrypoints=https"
- "traefik.http.routers.immich-secure.tls=true"
- "traefik.http.routers.immich-secure.tls.certresolver=x"
- "traefik.docker.network=proxy"
- "traefik.http.routers.immich-secure.service=immich-service"
- "traefik.http.services.immich-service.loadbalancer.server.port=2283"
#http redirect:
- "traefik.http.routers.immich.entrypoints=http"
- "traefik.http.routers.immich.rule=Host(`DOMAIN`)"
- "traefik.http.routers.immich.middlewares=redirect-to-https"
- "traefik.http.routers.immich.service=immich-service"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
#Watchtower labels:
- com.centurylinklabs.watchtower.monitor-only="true"
# ports:
# - '2283:2283'
networks:
- proxy
- immich_internal
depends_on:
- redis
- database
restart: unless-stopped
healthcheck:
disable: false
immich-machine-learning:
container_name: immich_machine_learning
# For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
# Example tag: ${IMMICH_VERSION:-release}-cuda
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
labels:
- com.centurylinklabs.watchtower.monitor-only="true"
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
# file: hwaccel.ml.yml
# service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
volumes:
- model-cache:/cache
env_file:
- .env
restart: unless-stopped
healthcheck:
disable: false
networks:
- immich_internal
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
labels:
- com.centurylinklabs.watchtower.monitor-only="true"
healthcheck:
test: redis-cli ping || exit 1
restart: unless-stopped
networks:
- immich_internal
database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
labels:
- com.centurylinklabs.watchtower.monitor-only="true"
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
healthcheck:
test: >-
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
--command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
echo "checksum failure count is $$Chksum";
[ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command: >-
postgres
-c shared_preload_libraries=vectors.so
-c 'search_path="$$user", public, vectors'
-c logging_collector=on
-c max_wal_size=2GB
-c shared_buffers=512MB
-c wal_compression=on
restart: unless-stopped
networks:
- immich_internal
volumes:
model-cache:
networks:
immich_internal:
driver: bridge
proxy:
external: true
Your .env content
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
IMMICH_SERVER_URL=https://DOMAIN
# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/Immich
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=Europe/Berlin
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=v2.7.5
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=X
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
Reproduction steps
- Create Album in Web
- Add photos and videos to the album
- Open album in web > all added media is visible
- Open album in app > some media is missing
Relevant log output
Additional information
No response
I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
I've noticed an inconsistency in the photos and videos shown in an album between the Android app and the web interface.
Some media is missing in the Android app within an album. This seems to come close to #23057, however unlike that issue I can still see the affected photos and videos in the normal timeline. When I try to add them to the album, I get the message "Already added to the album".
Opening the same album in the web interface shows all media correctly.
I already tried:
However nothing of this fixed it.
In Web:
In the App:
Trying to add media to album from timeline:
https://imgur.com/a/0j8xIgD
The OS that Immich Server is running on
Ubuntu 24.04.4 LTS
Version of Immich Server
v2.7.5
Version of Immich Mobile App
v2.7.4 build.3045
Platform with the issue
Device make and model
Pixel 7 Pro Android 16
Your docker-compose.yml content
Your .env content
Reproduction steps
Relevant log output
Additional information
No response