Upload on a public shared album on iOS (web) need to select twice upload button #1932

Closed
opened 2026-02-05 04:29:18 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @Th0mC on GitHub (Jan 4, 2024).

The bug

  • Create a link to a public shared album

  • Open the link in Safari or Chrome iOS (no user logged)
    IMG_D137A47508C1-1

  • First click on upload button -> nothing happens (except a color change)
    IMG_06E1371B641D-1

  • Second click the selection menu is opened
    IMG_39CE0BFFE827-1

Users expect to have selection menu on first click and think this is not working.
This happens on first upload only. The following ones, button is working properly at first click.

The OS that Immich Server is running on

Docker on linux arm64

Version of Immich Server

v1.91.4

Version of Immich Mobile App

N/A

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

{
  "cosmos-installer": {
    "form": [
      {
        "name": "photoPath",
        "label": "What is the path to your uploaded Photos?",
        "initialValue": "{DefaultDataPath}/immich-photos",
        "type": "text"
      },
      { 
        "name": "installImmichBackup",
        "label": "Do you want to add a backup agent for the database? (https://immich.app/docs/administration/backup-and-restore)",
        "initialValue": false,
        "type": "checkbox"
      }
      {if Context.installImmichBackup}
      , { 
        "name": "ImmichBackupPath",
        "label": "Where do you want to save that backup?",
        "initialValue": "{DefaultDataPath}/immich-backup",
        "type": "text"
      }
      {/if}
    ]
  },
  "minVersion": "0.12.0",
  "services": {
    "{ServiceName}": {
      "container_name": "{ServiceName}",
      "hostname": "{ServiceName}",
      "image": "ghcr.io/immich-app/immich-server:release",
      "command": "start.sh immich",
      "networks": {
        "{ServiceName}": {}
      },
      "volumes": [
        {
          "source": "{Context.photoPath}",
          "target": "/usr/src/app/upload",
          "type": "bind"
        },
        {
          "source": "/etc/localtime",
          "target": "/etc/localtime",
          "type": "bind"
        }
      ],
      "labels": {
        "cosmos-persistent-env": "UPLOAD_LOCATION, TYPESENSE_API_KEY, DB_PASSWORD, DB_DATABASE_NAME",
        "cosmos-force-network-secured": "true",
        "cosmos-auto-update": "false",
        "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png",
        "cosmos-stack": "{ServiceName}",
        "cosmos-stack-main": "{ServiceName}"
      },
      "environment": [
        "UPLOAD_LOCATION=/usr/src/app/upload",
        "TYPESENSE_API_KEY={Passwords.0}",
        "DB_PASSWORD={Passwords.1}",
        "DB_HOSTNAME={ServiceName}-database",
        "DB_USERNAME=postgres",
        "DB_DATABASE_NAME=immich",
        "REDIS_HOSTNAME={ServiceName}-redis"
      ],
      "depends_on": [
        "{ServiceName}-redis",
        "{ServiceName}-database"
      ],
      "routes": [
        {
          "name": "{ServiceName}",
          "description": "Expose {ServiceName} to the web",
          "useHost": true,
          "target": "http://{ServiceName}:3001",
          "mode": "SERVAPP",
          "Timeout": 14400000,
          "ThrottlePerMinute": 12000,
          "BlockCommonBots": true,
          "SmartShield": {
            "Enabled": true,
            "PolicyStrictness": 3,
            "PerUserRequestLimit": 12000,
            "PerUserSimultaneous": 100,
            "MaxGlobalSimultaneous": 1000
          }
        }
      ],
      "restart": "always"
    },
    "microservices": {
      "container_name": "microservices",
      "hostname": "microservices",
      "image": "ghcr.io/immich-app/immich-server:release",
      "command": "start.sh microservices",
      "networks": {
        "{ServiceName}": {}
      },
      "volumes": [
        {
          "source": "{Context.photoPath}",
          "target": "/usr/src/app/upload",
          "type": "bind"
        },
        {
          "source": "/etc/localtime",
          "target": "/etc/localtime",
          "type": "bind"
        }
      ],
      "labels": {
        "cosmos-persistent-env": "UPLOAD_LOCATION, TYPESENSE_API_KEY, DB_PASSWORD, DB_DATABASE_NAME",
        "cosmos-force-network-secured": "true",
        "cosmos-auto-update": "false",
        "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png",
        "cosmos-stack": "{ServiceName}",
        "cosmos-stack-main": "{ServiceName}"
      },
      "environment": [
        "UPLOAD_LOCATION=/usr/src/app/upload",
        "TYPESENSE_API_KEY={Passwords.0}",
        "DB_PASSWORD={Passwords.1}",
        "DB_HOSTNAME={ServiceName}-database",
        "DB_USERNAME=postgres",
        "DB_DATABASE_NAME=immich",
        "REDIS_HOSTNAME={ServiceName}-redis"
      ],
      "depends_on": [
        "{ServiceName}-redis",
        "{ServiceName}-database"
      ],
      "restart": "always"
    },
    "machine-learning": {
      "container_name": "machine-learning",
      "hostname": "machine-learning",
      "image": "ghcr.io/immich-app/immich-machine-learning:release",
      "networks": {
        "{ServiceName}": {}
      },
      "volumes": [
        {
          "source": "{ServiceName}-model-cache",
          "target": "/cache",
          "type": "volume"
        }
      ],
      "labels": {
        "cosmos-persistent-env": "UPLOAD_LOCATION, TYPESENSE_API_KEY, DB_PASSWORD, DB_DATABASE_NAME",
        "cosmos-force-network-secured": "true",
        "cosmos-auto-update": "false",
        "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png",
        "cosmos-stack": "{ServiceName}",
        "cosmos-stack-main": "{ServiceName}"
      },
      "environment": [
        "UPLOAD_LOCATION=/usr/src/app/upload",
        "TYPESENSE_API_KEY={Passwords.0}",
        "DB_PASSWORD={Passwords.1}",
        "DB_HOSTNAME={ServiceName}-database",
        "DB_USERNAME=postgres",
        "DB_DATABASE_NAME=immich",
        "REDIS_HOSTNAME={ServiceName}-redis"
      ],
      "restart": "always"
    },
    "{ServiceName}-redis": {
      "container_name": "{ServiceName}-redis",
      "hostname": "{ServiceName}-redis",
      "image": "redis:6.2-alpine@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5",
      "networks": {
        "{ServiceName}": {}
      },
      "labels": {
        "cosmos-persistent-env": "POSTGRES_PASSWORD, POSTGRES_USER, POSTGRES_DB",
        "cosmos-force-network-secured": "true",
        "cosmos-auto-update": "false",
        "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png",
        "cosmos-stack": "{ServiceName}",
        "cosmos-stack-main": "{ServiceName}"
      },
      "restart": "always"
    },
    "{ServiceName}-database": {
      "container_name": "{ServiceName}-database",
      "hostname": "{ServiceName}-database",
      "image": "tensorchord/pgvecto-rs:pg14-v0.1.11",
      "user": "postgres",
      "networks": {
        "{ServiceName}": {}
      },
      "labels": {
        "cosmos-persistent-env": "POSTGRES_PASSWORD, POSTGRES_USER, POSTGRES_DB",
        "cosmos-force-network-secured": "true",
        "cosmos-auto-update": "false",
        "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png",
        "cosmos-stack": "{ServiceName}",
        "cosmos-stack-main": "{ServiceName}"
      },
      "environment": [
        "POSTGRES_PASSWORD={Passwords.1}",
        "POSTGRES_USER=postgres",
        "POSTGRES_DB=immich"
      ],
      "volumes": [
        {
          "source": "{ServiceName}-pgdata",
          "target": "/var/lib/postgresql/data",
          "type": "volume"
        }
      ],
      "restart": "always"
    }
    {if Context.installImmichBackup}
    ,
    "{ServiceName}-backup": {
      "image": "prodrigestivill/postgres-backup-local",
      "container_name": "{ServiceName}-backup",
      "hostname": "{ServiceName}-backup",
      "restart": "unless-stopped",
      "labels": {
        "cosmos-persistent-env": "POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD, DB_DATABASE_NAME",
        "cosmos-force-network-secured": "true",
        "cosmos-auto-update": "false",
        "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png",
        "cosmos-stack": "{ServiceName}",
        "cosmos-stack-main": "{ServiceName}"
      },
      "networks": {
        "{ServiceName}": {}
      },
      "volumes": [
        {
          "source": "{Context.ImmichBackupPath}",
          "target": "/db_dumps",
          "type": "bind"
        }
      ],
      "environment": [
        "POSTGRES_HOST={ServiceName}-database",
        "POSTGRES_DB=immich",
        "POSTGRES_USER=postgres",
        "POSTGRES_PASSWORD={Passwords.1}",
        "SCHEDULE=@daily",
        "BACKUP_KEEP_DAYS=7",
        "BACKUP_KEEP_WEEKS=4",
        "BACKUP_KEEP_MONTHS=6",
        "BACKUP_DIR=/db_dumps",
        "PUID=1000",
        "PGID=1000"
      ],
      "depends_on": [
        "{ServiceName}-database"
      ]
    }
    {/if}
  },
    
  "networks": {
    "{ServiceName}": {}
  }
}

Your .env content

no .env file

Reproduction steps

1. Create a link to a public shared album
2. Open the link in Safari or Chrome iOS (no user logged)
3. First click on upload button -> no menu opened
4. Second click the selection menu is opened
Users expect to see the menu at first click

Additional information

No response

Originally created by @Th0mC on GitHub (Jan 4, 2024). ### The bug - Create a link to a public shared album - Open the link in Safari or Chrome iOS (no user logged) ![IMG_D137A47508C1-1](https://github.com/immich-app/immich/assets/1217254/eb236042-d993-4ba5-96f0-cbf05349c0fc) - First click on upload button -> nothing happens (except a color change) ![IMG_06E1371B641D-1](https://github.com/immich-app/immich/assets/1217254/deb64d50-5aab-451c-b46a-b8df4f39c745) - Second click the selection menu is opened ![IMG_39CE0BFFE827-1](https://github.com/immich-app/immich/assets/1217254/30cace27-0a85-4ffb-8acf-5f3124d7f56a) Users expect to have selection menu on first click and think this is not working. This happens on first upload only. The following ones, button is working properly at first click. ### The OS that Immich Server is running on Docker on linux arm64 ### Version of Immich Server v1.91.4 ### Version of Immich Mobile App N/A ### Platform with the issue - [ ] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML { "cosmos-installer": { "form": [ { "name": "photoPath", "label": "What is the path to your uploaded Photos?", "initialValue": "{DefaultDataPath}/immich-photos", "type": "text" }, { "name": "installImmichBackup", "label": "Do you want to add a backup agent for the database? (https://immich.app/docs/administration/backup-and-restore)", "initialValue": false, "type": "checkbox" } {if Context.installImmichBackup} , { "name": "ImmichBackupPath", "label": "Where do you want to save that backup?", "initialValue": "{DefaultDataPath}/immich-backup", "type": "text" } {/if} ] }, "minVersion": "0.12.0", "services": { "{ServiceName}": { "container_name": "{ServiceName}", "hostname": "{ServiceName}", "image": "ghcr.io/immich-app/immich-server:release", "command": "start.sh immich", "networks": { "{ServiceName}": {} }, "volumes": [ { "source": "{Context.photoPath}", "target": "/usr/src/app/upload", "type": "bind" }, { "source": "/etc/localtime", "target": "/etc/localtime", "type": "bind" } ], "labels": { "cosmos-persistent-env": "UPLOAD_LOCATION, TYPESENSE_API_KEY, DB_PASSWORD, DB_DATABASE_NAME", "cosmos-force-network-secured": "true", "cosmos-auto-update": "false", "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png", "cosmos-stack": "{ServiceName}", "cosmos-stack-main": "{ServiceName}" }, "environment": [ "UPLOAD_LOCATION=/usr/src/app/upload", "TYPESENSE_API_KEY={Passwords.0}", "DB_PASSWORD={Passwords.1}", "DB_HOSTNAME={ServiceName}-database", "DB_USERNAME=postgres", "DB_DATABASE_NAME=immich", "REDIS_HOSTNAME={ServiceName}-redis" ], "depends_on": [ "{ServiceName}-redis", "{ServiceName}-database" ], "routes": [ { "name": "{ServiceName}", "description": "Expose {ServiceName} to the web", "useHost": true, "target": "http://{ServiceName}:3001", "mode": "SERVAPP", "Timeout": 14400000, "ThrottlePerMinute": 12000, "BlockCommonBots": true, "SmartShield": { "Enabled": true, "PolicyStrictness": 3, "PerUserRequestLimit": 12000, "PerUserSimultaneous": 100, "MaxGlobalSimultaneous": 1000 } } ], "restart": "always" }, "microservices": { "container_name": "microservices", "hostname": "microservices", "image": "ghcr.io/immich-app/immich-server:release", "command": "start.sh microservices", "networks": { "{ServiceName}": {} }, "volumes": [ { "source": "{Context.photoPath}", "target": "/usr/src/app/upload", "type": "bind" }, { "source": "/etc/localtime", "target": "/etc/localtime", "type": "bind" } ], "labels": { "cosmos-persistent-env": "UPLOAD_LOCATION, TYPESENSE_API_KEY, DB_PASSWORD, DB_DATABASE_NAME", "cosmos-force-network-secured": "true", "cosmos-auto-update": "false", "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png", "cosmos-stack": "{ServiceName}", "cosmos-stack-main": "{ServiceName}" }, "environment": [ "UPLOAD_LOCATION=/usr/src/app/upload", "TYPESENSE_API_KEY={Passwords.0}", "DB_PASSWORD={Passwords.1}", "DB_HOSTNAME={ServiceName}-database", "DB_USERNAME=postgres", "DB_DATABASE_NAME=immich", "REDIS_HOSTNAME={ServiceName}-redis" ], "depends_on": [ "{ServiceName}-redis", "{ServiceName}-database" ], "restart": "always" }, "machine-learning": { "container_name": "machine-learning", "hostname": "machine-learning", "image": "ghcr.io/immich-app/immich-machine-learning:release", "networks": { "{ServiceName}": {} }, "volumes": [ { "source": "{ServiceName}-model-cache", "target": "/cache", "type": "volume" } ], "labels": { "cosmos-persistent-env": "UPLOAD_LOCATION, TYPESENSE_API_KEY, DB_PASSWORD, DB_DATABASE_NAME", "cosmos-force-network-secured": "true", "cosmos-auto-update": "false", "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png", "cosmos-stack": "{ServiceName}", "cosmos-stack-main": "{ServiceName}" }, "environment": [ "UPLOAD_LOCATION=/usr/src/app/upload", "TYPESENSE_API_KEY={Passwords.0}", "DB_PASSWORD={Passwords.1}", "DB_HOSTNAME={ServiceName}-database", "DB_USERNAME=postgres", "DB_DATABASE_NAME=immich", "REDIS_HOSTNAME={ServiceName}-redis" ], "restart": "always" }, "{ServiceName}-redis": { "container_name": "{ServiceName}-redis", "hostname": "{ServiceName}-redis", "image": "redis:6.2-alpine@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5", "networks": { "{ServiceName}": {} }, "labels": { "cosmos-persistent-env": "POSTGRES_PASSWORD, POSTGRES_USER, POSTGRES_DB", "cosmos-force-network-secured": "true", "cosmos-auto-update": "false", "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png", "cosmos-stack": "{ServiceName}", "cosmos-stack-main": "{ServiceName}" }, "restart": "always" }, "{ServiceName}-database": { "container_name": "{ServiceName}-database", "hostname": "{ServiceName}-database", "image": "tensorchord/pgvecto-rs:pg14-v0.1.11", "user": "postgres", "networks": { "{ServiceName}": {} }, "labels": { "cosmos-persistent-env": "POSTGRES_PASSWORD, POSTGRES_USER, POSTGRES_DB", "cosmos-force-network-secured": "true", "cosmos-auto-update": "false", "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png", "cosmos-stack": "{ServiceName}", "cosmos-stack-main": "{ServiceName}" }, "environment": [ "POSTGRES_PASSWORD={Passwords.1}", "POSTGRES_USER=postgres", "POSTGRES_DB=immich" ], "volumes": [ { "source": "{ServiceName}-pgdata", "target": "/var/lib/postgresql/data", "type": "volume" } ], "restart": "always" } {if Context.installImmichBackup} , "{ServiceName}-backup": { "image": "prodrigestivill/postgres-backup-local", "container_name": "{ServiceName}-backup", "hostname": "{ServiceName}-backup", "restart": "unless-stopped", "labels": { "cosmos-persistent-env": "POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD, DB_DATABASE_NAME", "cosmos-force-network-secured": "true", "cosmos-auto-update": "false", "cosmos-icon": "https://azukaar.github.io/cosmos-servapps-official/servapps/Immich/icon.png", "cosmos-stack": "{ServiceName}", "cosmos-stack-main": "{ServiceName}" }, "networks": { "{ServiceName}": {} }, "volumes": [ { "source": "{Context.ImmichBackupPath}", "target": "/db_dumps", "type": "bind" } ], "environment": [ "POSTGRES_HOST={ServiceName}-database", "POSTGRES_DB=immich", "POSTGRES_USER=postgres", "POSTGRES_PASSWORD={Passwords.1}", "SCHEDULE=@daily", "BACKUP_KEEP_DAYS=7", "BACKUP_KEEP_WEEKS=4", "BACKUP_KEEP_MONTHS=6", "BACKUP_DIR=/db_dumps", "PUID=1000", "PGID=1000" ], "depends_on": [ "{ServiceName}-database" ] } {/if} }, "networks": { "{ServiceName}": {} } } ``` ### Your .env content ```Shell no .env file ``` ### Reproduction steps ```bash 1. Create a link to a public shared album 2. Open the link in Safari or Chrome iOS (no user logged) 3. First click on upload button -> no menu opened 4. Second click the selection menu is opened Users expect to see the menu at first click ``` ### Additional information _No response_
OVERLORD added the 🖥️web label 2026-02-05 04:29:18 +03:00
Author
Owner

@Th0mC commented on GitHub (Jan 12, 2024):

Still present on v1.92.1

@Th0mC commented on GitHub (Jan 12, 2024): Still present on v1.92.1
Author
Owner

@Chuckame commented on GitHub (May 22, 2024):

Hello, same issue here, v1.103.1

@Chuckame commented on GitHub (May 22, 2024): Hello, same issue here, v1.103.1
Author
Owner

@jrasm91 commented on GitHub (Aug 26, 2025):

I believe this has been fixed. If some could test and verify, that would be great.

@jrasm91 commented on GitHub (Aug 26, 2025): I believe this has been fixed. If some could test and verify, that would be great.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1932