immich icon indicating copy to clipboard operation
immich copied to clipboard

Viewing images from tags & folders fails

Open steverumsby opened this issue 1 year ago • 6 comments

The bug

I have tags enabled for my user. Choosing a tag from the list tales me to a page ofimages tagged with that tag. So far so good. When I click on an image on that page I'm presented with a blank page.

The URL I'm taken to is <URL>/tags/photos/. If I remove the "tags/" from the URL, leaving <URL>/photos/ I get to the page for the relevant image.

Is this just that the link from the tags page is wrong, or is the "tags/" component supposed to work but doesn't?

The same happens with folders. Viewing an images produces a blank page, but removing "folders/" from the URL proiduces the correct image page.

The OS that Immich Server is running on

Ubuntu 24.04

Version of Immich Server

1.120.1

Version of Immich Mobile App

N/A

Platform with the issue

  • [ ] Server
  • [X] 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:/usr/src/app/upload
      - type: bind
        source: /home/steve/onedrive/Pictures
        target: /mnt/onedrive
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .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
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
    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
      - postgres:/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:
  upload:
  postgres:

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

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

Reproduction steps

  1. In user account settings, enable tags in Features
  2. Select tags in sidebar and choose a tag from the list to view photos with that tag
  3. Click on a thumbnail to view the image & get a blank page
  4. Remove "tags/" from the URL to view the actual image page.

Repeat for folders to get the same result.

Relevant log output

No response

Additional information

No response

steverumsby avatar Nov 11 '24 13:11 steverumsby

Is the page completely blank? Can you post a screenshot?

Are you using a reverse proxy or such, or accessing Immich directly on the port?

bo0tzz avatar Nov 11 '24 13:11 bo0tzz

Yes, the page is completely blank, hence no screenshot! Here's a video of the process:

https://github.com/user-attachments/assets/68298a7e-1feb-4f2a-9339-2db4996d6885

I do normally access through an nginx reverse proxy, but the same happens when accessing directly, as in the video above.

steverumsby avatar Nov 11 '24 14:11 steverumsby

Are there any errors or failed requests in the browser console?

bo0tzz avatar Nov 11 '24 14:11 bo0tzz

No, browser console is empty and the container's log has no errors.

steverumsby avatar Nov 11 '24 14:11 steverumsby

Also, clicking on the thumbnail on the tags page produces this in the developer tools network tab, if this helps at all

image

steverumsby avatar Nov 11 '24 14:11 steverumsby

Probably related to Svelte 5 migration. I will take a look in the syntax migration PR

alextran1502 avatar Nov 11 '24 14:11 alextran1502

Please look out for the next release and let me know if you still cannot see the photos

alextran1502 avatar Nov 14 '24 15:11 alextran1502

I've just installed 1.121.0 and I'm still getting the same behaviour. Sorry!

steverumsby avatar Nov 21 '24 12:11 steverumsby

Now running 1.22.0 and the problem still exists.

steverumsby avatar Dec 06 '24 12:12 steverumsby

The problem is still here in 1.124.0.

steverumsby avatar Jan 08 '25 09:01 steverumsby

Can you reproduce this on https://demo.immich.app? Does it still happen with cache cleared, extensions disabled, in a private tab, different browser, etc?

bo0tzz avatar Jan 08 '25 12:01 bo0tzz

I don't know why I didn't think to try all these variations before - thanks for the prompt...

So, my main machine is Windows 11 and main browser is Edge. With all extensions disabled and cache cleared, this still misbehaves in both normal and private mode, for both my immich installation and the demo system. The same things happens with Chrome on the same machine - again, viewing the image produces a blank page.

However, on a second Windows machine all works fine in Edge. And a clean install of Firefox on the primary machine also seems to work OK. And Edge on a Linux machine also works OK.

So Edge/Chrome on my primary machine is the problem. Any thoughts on what the cause might be or how to track it down? It does now seem to not be an immich problem, so I guess this is now my problem not yours!

steverumsby avatar Jan 08 '25 13:01 steverumsby