Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many photos from external library are not showing up on the Android app but are showing correctly on the web UI #14627

Open
1 of 3 tasks
dinosmm opened this issue Dec 10, 2024 · 5 comments

Comments

@dinosmm
Copy link

dinosmm commented Dec 10, 2024

The bug

The Android app is not showing many photos that are shown on the web UI.

There are many months, and dates within them that are missing photos in the Android app. Some have only 1, 2 or a few photos out of dozens, others are missing entirely (not showing any photos) where there should be lots, that show up fine on the web.

I have restarted the containers, and I have uninstalled and reinstalled the Android app. The same photos are still missing.

I am only using Immich with an external library, if this makes any difference.

The OS that Immich Server is running on

Ubuntu 20.04

Version of Immich Server

1.122.2

Version of Immich Mobile App

1.122.2

Platform with the issue

  • Server
  • Web
  • Mobile

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
      - /blabla/Photos:/usr/src/app/external
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false
    logging:
      driver: "journald"
      options:
        tag: "immich"

  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: always
    healthcheck:
      disable: false

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

  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:
      # 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: always

volumes:
  model-cache:

Your .env content

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

# The location where your uploaded files are stored
UPLOAD_LOCATION=/home/blabla/library
# 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/London

# 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
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=blabla

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

Reproduction steps

  1. Add external library
  2. Wait for scanning to be completed
  3. View photos on Web
  4. View photos on Android app

Relevant log output

Current log of the Android app:

2024-12-10 19:56:09.641442 | INFO     | AssetNotifier        | Load assets: 422ms |
2024-12-10 19:56:09.640952 | INFO     | AlbumService         | Found 0 device albums |
2024-12-10 15:05:11.467464 | INFO     | AssetNotifier        | Load assets: 17611ms |
2024-12-10 15:05:11.466935 | INFO     | AlbumService         | Found 0 device albums |
2024-12-10 15:05:11.450519 | INFO     | SyncService          | Upserted 38994 assets into the DB |
2024-12-10 15:04:38.165401 | SEVERE   | AuthService          | Error logging out | LateInitializationError: Field 'authenticationApi' has not been initialized. |
#0      AuthApiRepository.logout (package:immich_mobile/repositories/auth_api.repository.dart)
#1      AuthService.logout (package:immich_mobile/services/auth.service.dart:93)
#2      AuthNotifier.logout (package:immich_mobile/providers/auth.provider.dart:67)
#3      SplashScreenPageState.resumeSession (package:immich_mobile/pages/common/splash_screen.page.dart:69)
#4      SplashScreenPageState.initState.<anonymous closure> (package:immich_mobile/pages/common/splash_screen.page.dart:28)
#5      _RootZone.run (dart:async/zone.dart:1655)
#6      _FutureListener.handleWhenComplete (dart:async/future_impl.dart:206)
#7      Future._propagateToListeners.handleWhenCompleteCallback (dart:async/future_impl.dart:831)
#8      Future._propagateToListeners (dart:async/future_impl.dart:887)
#9      Future._addListener.<anonymous closure> (dart:async/future_impl.dart:472)
#10     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#11     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

2024-12-10 15:04:38.165287 | SEVERE   | SplashScreenPage     | Unable to login using offline or online methods - Logging out completely |
2024-12-10 15:04:38.164922 | SEVERE   | SplashScreenPage     | Missing authentication, server, or endpoint info from the local store |

Additional information

I am using the Android app on a Galaxy S24 Ultra on Android 14.

@alextran1502
Copy link
Contributor

Are you connecting through your instance over local IP? If not, can you try that?

@dinosmm
Copy link
Author

dinosmm commented Dec 10, 2024

I am not, it's a cloud VPS so unfortunately I can't try that (I mean, technically I can look at setting up a VPN but that might take a while).

@dinosmm
Copy link
Author

dinosmm commented Dec 11, 2024

I connected over a local IP (over a VPN set up on the same server), and the same photos are missing.

Other than the large set of photos I originally discovered were missing, I also just saw that all photos prior to 2003 are also missing from the Android app (there is a good amount of them going back through the 90s). They all show on the web UI too.

@alextran1502
Copy link
Contributor

Do you mind helping me grab a log on the mobile app after browsing through those missing section?

@dinosmm
Copy link
Author

dinosmm commented Dec 11, 2024

Sure, I scrolled right down to 2003 (where there are photos missing from before that), and then back up to 2006-7 where there are many months with most of their photos missing.
Here's the log after that - or is there some other process I need to follow for a more detailed log?

Immich_log_2024-12-11T08:35:09.809230.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants