immich-app / immich

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

Photo/Video added on Mobile App does not popup automatically on Web browser App #13608

Open lraulet opened 1 month ago

lraulet commented 1 month ago

The bug

After having discussed with @alextran1502 on discord it seems that this feature has been removed. It appears that Immich dev team "had to temporarily remove it a few version back with the new timeline implementation since it causes flashing." This ticket is there to track this and be informed when the feature will be back available.

The OS that Immich Server is running on

Docker

Version of Immich Server

v1.118.2

Version of Immich Mobile App

v1.118.0 build.163

Platform with the issue

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:
      - stack.env
    ports:
      - 2283:2283
    depends_on:
      - redis
      - database
    restart: always
    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}
    # 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
      - /volume1/docker-immich/model-temp:/model
    env_file:
      - stack.env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e
    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='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || 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: always

volumes:
  model-cache:

Your .env content

UPLOAD_LOCATION=/volume1/docker-immich/library
DB_DATA_LOCATION=/volume1/docker-immich/postgres
IMMICH_VERSION=v1.118.2
DB_PASSWORD=***hidden***
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Reproduction steps

  1. Open Immich Web app on a computer (Windows Chrome in my case) so you can see photos available on Immich server
  2. Take a photo using the smartphone
  3. Open Immich mobile app so the upload to immich servers occurs

Expected result : Thanks to the websocket opened we expect the new photo to appear automatically (with web page refresh) in the Web App opened on the computer

Current result : Nothing happen on the Web App. User needs to refresh the web page to see the new photo

Note : deleting a photo on the Mobile app is replicated automatically (without refreshing) on the Web application

Relevant log output

No response

Additional information

No response

scherddel commented 1 month ago

I mean for me it doesnt appear "immediately" but with activated backup in fore and background it appears usually within 5-10 seconds on my server and also on the mobile app. Isn't that sufficient?

scherddel commented 1 month ago

Ok I think you are specifically referring to the function to "automatically" update the frontend even without pressing the refresh button...

lraulet commented 1 week ago

@scherddel Yes, this is what I'm referring to. The FrontEnd does not update automatically (on a give PC Web App) while you are uploading photo (to the same immich account) from a different computer (or smartphone). I think I was working in "older" immich server version.