immich icon indicating copy to clipboard operation
immich copied to clipboard

Individual Photo Sharing with Album Link

Open bitbytenybble110 opened this issue 10 months ago • 2 comments

The bug

When an album is shared using the "Sharing" link option viewers of individual photos have the option to click the "Share" button.

Attempting to create a "Sharing" link to a photo on a shared album generates an Authentication Error on the front end web site.

We believe this is mostly a cosmetic error.

Either the "Sharing" link should be removed when not authenticated to avoid the error or "Sharing" links to photos within a shared album can be created by unauthenticated third parties since the album is already public.

Erring on the side of caution, removing the "Sharing" link from unauthenticated sessions feels like the better option.

The OS that Immich Server is running on

Ubuntu 22.04

Version of Immich Server

v1.101.0

Version of Immich Mobile App

v1.101.0 build.147

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.
#

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: ['start.sh', 'immich']
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always
    environment:
      DB_USERNAME: ${DB_USERNAME}
      DB_PASSWORD: ${DB_PASSWORD}
      DB_DATABASE_NAME: ${DB_DATABASE_NAME}
      DB_HOSTNAME: ${DB_HOSTNAME}
    deploy:
      placement:
        constraints: [node.labels.zwave.hardware != true]

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    command: ['start.sh', 'microservices']
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    depends_on:
      - redis
      - database
    restart: always
    environment:
      DB_USERNAME: ${DB_USERNAME}
      DB_PASSWORD: ${DB_PASSWORD}
      DB_DATABASE_NAME: ${DB_DATABASE_NAME}
      DB_HOSTNAME: ${DB_HOSTNAME}
    deploy:
      placement:
        constraints: [node.labels.zwave.hardware != true]

  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
    restart: always
    deploy:
      placement:
        constraints: [node.labels.zwave.hardware != true]

  redis:
    container_name: immich_redis
    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5
    restart: always
    deploy:
      placement:
        constraints: [node.labels.zwave.hardware != true]

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - ${PG_DATA}:/var/lib/postgresql/data
    restart: always
    deploy:
      placement:
        constraints: [node.labels.zwave.hardware != true]

volumes:
  model-cache:

Your .env content

UPLOAD_LOCATION=/opt/immich//library
IMMICH_VERSION=release
DB_PASSWORD=*REDACTED*
DB_HOSTNAME=database
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
PG_DATA=/opt/immich/db

Reproduction steps

1. Log in to Immich web
2. Create a photo album and add content.
3. Create a sharing link with any options
4. Open the album in a private browsing session using the sharing link
5. Open any image within the album
6. Click sharing link option
7. Set any options
8. Click "Create Link"

Relevant log output

No response

Additional information

No response

bitbytenybble110 avatar Apr 17 '24 20:04 bitbytenybble110

@bitbytenybble110 Hi, I tried to reproduce the error, but it worked just fine. Could you please show this problem with a demo video?

Xiayucheng1212 avatar Apr 25 '24 05:04 Xiayucheng1212

Absolutely! I've recorded the steps to reproduce this behavior.

https://github.com/immich-app/immich/assets/12929123/b6f510f4-2695-4bd7-b0ec-d971365cdb97

bitbytenybble110 avatar Apr 25 '24 13:04 bitbytenybble110

Perfect! I just pulled the latest immich image and this issue appears fixed!

Thank you all!

bitbytenybble110 avatar May 14 '24 13:05 bitbytenybble110