immich-app / immich

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

Cant upload multiple Photos from my Computer #10177

Closed findmarcusr closed 2 months ago

findmarcusr commented 2 months ago

The bug

I can no longer select multiple photos to upload upload when uploading photos from my Mac. When the selection window come up. I can only select 1 file at time. I used to be able to Hold Shift down and select multiple files to upload at one time.

The OS that Immich Server is running on

Raspberry pi OS bookworm

Version of Immich Server

v1.106.2

Version of Immich Mobile App

1.1.06.0 build.158

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: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - ${EXTERNAL_PATH}:/usr/src/app/external  
    env_file:
      - stack.env
    ports:
      - 1969:3001
    depends_on:
      - redis
      - database
    restart: always

  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:
      - stack.env
    restart: always

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:d6c2911ac51b289db208767581a5d154544f2b2fe4914ea5056443f62dc6e900
    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:
      - ${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 SUM(checksum_failures) 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/marcus/immich/uploads'
EXTERNAL_PATH='/home/marcus/immich/myphotos'
# 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=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=melbourne

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

Reproduction steps

deploy the stack. 

Login to Immich.

create and album.

Select from Computer.

Issue here is I can no longer select Multiple photos to upload.

Relevant log output

No response

Additional information

No response

Snowknight26 commented 2 months ago

Looks like this only affects the album page, specifically when creating a new album.

Probably caused by: https://github.com/immich-app/immich/commit/4f21f6a2e1942048e420d67fcf96274701326bc8#diff-83ad4b371b30f8dda08bf2beccc0b71a6be9479d508c820408272cd94f94790fR250

https://github.com/immich-app/immich/blob/cdc98de848be025898e1d007b47d03365c3698e0/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte#L249

Probably as easy as changing that false to true.

findmarcusr commented 2 months ago

No... It also happens when I try and upload photos in general. Not just when I create an album.

Snowknight26 commented 2 months ago

I can't reproduce using the Upload button from the main navigation. Are you able to select multiple files from Photos -> Upload? What browser are you using? Have you tried a different one?

findmarcusr commented 2 months ago

I am using Chrome on my mac. I have tried safari, and I have tried another Macbook pro... Same issue.... When I do I fresh install of immich rolling back to v1.105.1 The issue goes away. No I can select multiple files from Photos -> upload

findmarcusr commented 2 months ago

Apologies... You are correct. Its only when I create an album. Sorry I just double checked.

Snowknight26 commented 2 months ago

https://github.com/immich-app/immich/blob/cdc98de848be025898e1d007b47d03365c3698e0/web/src/lib/components/asset-viewer/asset-viewer-nav-bar.svelte#L249

Probably as easy as changing that false to true.

On second thought, probably not.

https://github.com/immich-app/immich/blob/81790ab16606f26ca0f2b070051e898a48d44ebe/web/src/lib/utils/file-uploader.ts#L35

openFileUploadDialog has a very strange type and I can't make sense of when you can or can't pass an albumId, assetId, or multiple, but I think the function parameter type and the way the default is set if no options are specified is the problem.

findmarcusr commented 2 months ago

I am just glad someone else has the problem and its not just me. If I roll back it fixes the issue. I am just having trouble getting the older install to read my DB. The update must have changed something so I can't restore my data to the older version. However now you have pointed out I can upload via the photos page its not as bad. I can work with it.

findmarcusr commented 2 months ago

When will this be fixed..? When will the new images be ready to pull to my server..? @zackpollard @michelheusschen Thank you!!

zackpollard commented 2 months ago

When will this be fixed..? When will the new images be ready to pull to my server..? @zackpollard @michelheusschen Thank you!!

In a few hours most likely

findmarcusr commented 2 months ago

Amazing.... Thank you so much!!.. @zackpollard