immich-app / immich

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

Albums only on iOS app, but not in Web app #11345

Closed pareis closed 3 months ago

pareis commented 3 months ago

The bug

I have backed up a huge library of 58k photos using the iOS app, in foreground mode. I had selected a couple of albums plus the "Recent" album. Now that all assets have been backed up, I can see them on the web app. So far so good.

The issue now is that I can only see the albums in the iOS app. They are exactly the ones that are in the Apple Photos app and I have the exact same albums in the iOS Immich app. However, the web app doesn't show any of these albums. It looks like they have not been copied over. For some reason, the iOS app still sees them (I guess it's a local cache?).

Is there any way to get these albums (the names + linked photos) captured on the server somehow? Could this be a bug or do you think it's by design?

The OS that Immich Server is running on

Ubuntu 24.04

Version of Immich Server

v1.109.2

Version of Immich Mobile App

v1.109.0 build.164

Platform with the issue

Your docker-compose.yml content

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: quicksync # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${EXTERNAL_PATH1}:/usr/src/app/external/Aperture
      - ${EXTERNAL_PATH2}:/usr/src/app/external/Lightroom
      - ${EXTERNAL_PATH3}:/usr/src/app/external/Newer
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: no

  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}
    # 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: no

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:d6c2911ac51b289db208767581a5d154544f2b2fe4914ea5056443f62dc6e900
    healthcheck:
      test: redis-cli ping || exit 1
    restart: unless-stopped

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: --data-checksums
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' || exit 1; Chksum="$$(psql
        --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --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: no

volumes:
  model-cache: null
networks: {}

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

EXTERNAL_PATH1=/home/andre/Pictures/Aperture
EXTERNAL_PATH2=/home/andre/Pictures/Lightroom
EXTERNAL_PATH3=/home/andre/Pictures/Newer

# The location where your uploaded files are stored
UPLOAD_LOCATION=/home/andre/Pictures/Immich/upload
# The location where your database files are stored
DB_DATA_LOCATION=/home/andre/Pictures/Immich/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=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
DB_PASSWORD=******

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Reproduction steps

1. Select 2 or more albums in the iOS app plus the album "Recent" to be backed up
2. Run the backup (I did it in foreground more)
3. Once backup is finished, check the albums in the iOS Immich app and the albums on web (or on the server)
4. The albums do not exist on the server (or the web app doesn't show them)

Relevant log output

No response

Additional information

I guess if I'd know where the albums are I could try to query the DB to check whether they exist there or not. What table is relevant?

mmomjian commented 3 months ago

Mobile albums are not currently synced. This feature request is tracked in #1678