[BUG] When zooming in on a video, the UI moves as well #775

Closed
opened 2026-02-04 22:26:49 +03:00 by OVERLORD · 0 comments
Owner

Originally created by @JVT038 on GitHub (Mar 29, 2023).

The bug

When I try to zoom in while playing a video on mobile, the UI starts moving. So the playback controls move, for example.
See the screen recording for an example:

https://user-images.githubusercontent.com/47184046/228576576-f6e2d3ca-0039-469d-8f4f-7eb9194dff33.mp4

The OS that Immich Server is running on

Synology DSM 7.2

Version of Immich Server

v1.52.0

Version of Immich Mobile App

v1.52.0 build.75

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

networks:
  traefik_proxy:
    external:
      name: traefik_proxy

services:
  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    entrypoint: ["/bin/sh", "./start-server.sh"]
    networks:
      - traefik_proxy
      - default
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - sockets:/sockets
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    labels:
      traefik.enable: "true"
      traefik.docker.network: traefik_proxy
      traefik.http.services.immich-api-svc.loadbalancer.server.port: "3001"
      traefik.http.routers.immich-api-rtr.rule: "Host(`immich.$DOMAINNAME`) && Pathprefix(`/api`)"
      traefik.http.routers.immich-api-rtr.priority: 20
      traefik.http.middlewares.immich-api-strip.stripprefix.prefixes: "/api"
      traefik.http.routers.immich-api-rtr.middlewares: immich-api-strip,chain-basic@file
      traefik.http.routers.immich-api-rtr.service: immich-api-svc
      traefik.http.routers.immich-api-rtr.tls: true
      traefik.http.routers.immich-api-rtr.tls.certresolver: dns-cloudflare
      traefik.http.routers.immich-api-rtr.entrypoints: https

  immich-microservices:
    image: ghcr.io/immich-app/immich-server:release
    entrypoint: ["/bin/sh", "./start-microservices.sh"]
    networks:
      - default
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - sockets:/sockets
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-machine-learning:
    build:
      context: $DOCKERDIR/immich/immich-ml
      dockerfile: Dockerfile
    container_name: immich_machine_learning
    command: [ "python", "src/main.py" ]
    networks:
      - default
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - model-cache:/cache
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    restart: always 

  immich-web:
    image: ghcr.io/immich-app/immich-web:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    networks:
      - default
      - traefik_proxy
    env_file:
      - .env
    restart: always
    labels:
      traefik.enable: "true"
      traefik.docker.network: traefik_proxy
      traefik.http.services.immich-svc.loadbalancer.server.port: "3000"
      traefik.http.routers.immich-rtr.rule: "Host(`immich.$DOMAINNAME`)"
      traefik.http.routers.immich-rtr.priority: 10
      traefik.http.routers.immich-rtr.service: immich-svc
      traefik.http.routers.immich-rtr.middlewares: chain-basic@file
      traefik.http.routers.immich-rtr.tls: true
      traefik.http.routers.immich-rtr.tls.certresolver: dns-cloudflare
      traefik.http.routers.immich-rtr.entrypoints: https

  redis:
    container_name: immich_redis
    image: redis:6.2
    restart: always
    networks:
      - default
    command: redis-server /etc/redis.conf
    volumes:
      - sockets:/sockets
      - $DOCKERDIR/immich/redis.conf:/etc/redis.conf
      - /etc/TZ:/etc/timezone:ro
      - $DOCKERDIR/immich/redisdb:/db

  database:
    container_name: immich_postgres
    image: postgres:14-bullseye
    user: 1026:100
    command: postgres -c unix_socket_directories='/var/run/postgresql/,/sockets/'
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      PG_DATA: /var/lib/postgresql/data
      PGPORT: ${DB_PORT}
    volumes:
      - $DOCKERDIR/immich/pgdata:/var/lib/postgresql/data
      - sockets:/sockets
    restart: always

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.0
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
    logging:
      driver: none
    volumes:
      - $DOCKERDIR/immich/typesense:/data

volumes:
  sockets:
    external: true
  model-cache:

Your .env content

DB_HOSTNAME=/sockets
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich
DB_PORT=5433
REDIS_PASSWORD="secret"
REDIS_SOCKET=/sockets/immich_redis.sock
UPLOAD_LOCATION=/volume1/upload
JWT_SECRET=secret
REVERSE_GEOCODING_PRECISION=3
TYPESENSE_API_KEY=secret

Reproduction steps

1. Open Immich on Android
2. Play a video
3. Try to zoom in
4. See error

Additional information

No response

Originally created by @JVT038 on GitHub (Mar 29, 2023). ### The bug When I try to zoom in while playing a video on mobile, the UI starts moving. So the playback controls move, for example. See the screen recording for an example: https://user-images.githubusercontent.com/47184046/228576576-f6e2d3ca-0039-469d-8f4f-7eb9194dff33.mp4 ### The OS that Immich Server is running on Synology DSM 7.2 ### Version of Immich Server v1.52.0 ### Version of Immich Mobile App v1.52.0 build.75 ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" networks: traefik_proxy: external: name: traefik_proxy services: immich-server: image: ghcr.io/immich-app/immich-server:release entrypoint: ["/bin/sh", "./start-server.sh"] networks: - traefik_proxy - default volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - sockets:/sockets env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database - typesense restart: always labels: traefik.enable: "true" traefik.docker.network: traefik_proxy traefik.http.services.immich-api-svc.loadbalancer.server.port: "3001" traefik.http.routers.immich-api-rtr.rule: "Host(`immich.$DOMAINNAME`) && Pathprefix(`/api`)" traefik.http.routers.immich-api-rtr.priority: 20 traefik.http.middlewares.immich-api-strip.stripprefix.prefixes: "/api" traefik.http.routers.immich-api-rtr.middlewares: immich-api-strip,chain-basic@file traefik.http.routers.immich-api-rtr.service: immich-api-svc traefik.http.routers.immich-api-rtr.tls: true traefik.http.routers.immich-api-rtr.tls.certresolver: dns-cloudflare traefik.http.routers.immich-api-rtr.entrypoints: https immich-microservices: image: ghcr.io/immich-app/immich-server:release entrypoint: ["/bin/sh", "./start-microservices.sh"] networks: - default volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - sockets:/sockets env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database - typesense restart: always immich-machine-learning: build: context: $DOCKERDIR/immich/immich-ml dockerfile: Dockerfile container_name: immich_machine_learning command: [ "python", "src/main.py" ] networks: - default volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - model-cache:/cache env_file: - .env environment: - NODE_ENV=production restart: always immich-web: image: ghcr.io/immich-app/immich-web:release entrypoint: ["/bin/sh", "./entrypoint.sh"] networks: - default - traefik_proxy env_file: - .env restart: always labels: traefik.enable: "true" traefik.docker.network: traefik_proxy traefik.http.services.immich-svc.loadbalancer.server.port: "3000" traefik.http.routers.immich-rtr.rule: "Host(`immich.$DOMAINNAME`)" traefik.http.routers.immich-rtr.priority: 10 traefik.http.routers.immich-rtr.service: immich-svc traefik.http.routers.immich-rtr.middlewares: chain-basic@file traefik.http.routers.immich-rtr.tls: true traefik.http.routers.immich-rtr.tls.certresolver: dns-cloudflare traefik.http.routers.immich-rtr.entrypoints: https redis: container_name: immich_redis image: redis:6.2 restart: always networks: - default command: redis-server /etc/redis.conf volumes: - sockets:/sockets - $DOCKERDIR/immich/redis.conf:/etc/redis.conf - /etc/TZ:/etc/timezone:ro - $DOCKERDIR/immich/redisdb:/db database: container_name: immich_postgres image: postgres:14-bullseye user: 1026:100 command: postgres -c unix_socket_directories='/var/run/postgresql/,/sockets/' env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} PG_DATA: /var/lib/postgresql/data PGPORT: ${DB_PORT} volumes: - $DOCKERDIR/immich/pgdata:/var/lib/postgresql/data - sockets:/sockets restart: always typesense: container_name: immich_typesense image: typesense/typesense:0.24.0 environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data logging: driver: none volumes: - $DOCKERDIR/immich/typesense:/data volumes: sockets: external: true model-cache: ``` ### Your .env content ```Shell DB_HOSTNAME=/sockets DB_USERNAME=postgres DB_PASSWORD=postgres DB_DATABASE_NAME=immich DB_PORT=5433 REDIS_PASSWORD="secret" REDIS_SOCKET=/sockets/immich_redis.sock UPLOAD_LOCATION=/volume1/upload JWT_SECRET=secret REVERSE_GEOCODING_PRECISION=3 TYPESENSE_API_KEY=secret ``` ### Reproduction steps ```bash 1. Open Immich on Android 2. Play a video 3. Try to zoom in 4. See error ``` ### Additional information _No response_
OVERLORD added the 📱mobile label 2026-02-04 22:26:49 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#775