[BUG] Images with timestamps in the future don't show up in the web app #1752

Closed
opened 2026-02-05 03:34:40 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @Cat-Ion on GitHub (Dec 9, 2023).

The bug

For some reason, my Open Camera has been taking pictures with a timestamp that is off by one hour. They show up in the app and are backed up with no issue, but the web app does not show them until an hour later, when the timestamp is in the past.

It's not a huge issue for me, but it's at least worth documenting :)

Thanks for all the hard work!

The OS that Immich Server is running on

Gentoo

Version of Immich Server

v1.90.2

Version of Immich Mobile App

v1.89.0 build 113

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-server.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
    restart: always
    ports:
      - 2283:3001

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

  #immich-machine-learning:
  #  image: bertmelis1/immich-machine-learning-noavx:release
  #  entrypoint: ["/bin/sh", "./entrypoint.sh"]
  #  volumes:
  #    - ${UPLOAD_LOCATION}:/usr/src/app/upload
  #  env_file:
  #    - .env
  #  environment:
  #    - NODE_ENV=production
  #  depends_on:
  #    - database
  #  restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      PG_DATA: /var/lib/postgresql/data
    volumes:
      - pgdata:/var/lib/postgresql/data
    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:
      - tsdata:/data
    restart: always
volumes:
  pgdata:
  tsdata:
  model-cache:

Your .env content

DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
UPLOAD_LOCATION=/var/lib/immich/data
JWT_SECRET=hi
PUBLIC_LOGIN_PAGE_MESSAGE=
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
TYPESENSE_API_KEY=meep.
TYPESENSE_ENABLED=true

Reproduction steps

1. Use the android app to upload a picture with a timestamp in the future
2. Check web app for the picture - it does not show up
3. Wait until the timestamp is in the past
4. The picture shows up in the web app

Additional information

No response

Originally created by @Cat-Ion on GitHub (Dec 9, 2023). ### The bug For some reason, my Open Camera has been taking pictures with a timestamp that is off by one hour. They show up in the app and are backed up with no issue, but the web app does not show them until an hour later, when the timestamp is in the past. It's not a huge issue for me, but it's at least worth documenting :) Thanks for all the hard work! ### The OS that Immich Server is running on Gentoo ### Version of Immich Server v1.90.2 ### Version of Immich Mobile App v1.89.0 build 113 ### Platform with the issue - [ ] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" services: immich-server: image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: always ports: - 2283:3001 immich-microservices: image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: always #immich-machine-learning: # image: bertmelis1/immich-machine-learning-noavx:release # entrypoint: ["/bin/sh", "./entrypoint.sh"] # volumes: # - ${UPLOAD_LOCATION}:/usr/src/app/upload # env_file: # - .env # environment: # - NODE_ENV=production # depends_on: # - database # restart: always redis: container_name: immich_redis image: redis:6.2 restart: always database: container_name: immich_postgres image: postgres:14 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} PG_DATA: /var/lib/postgresql/data volumes: - pgdata:/var/lib/postgresql/data 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: - tsdata:/data restart: always volumes: pgdata: tsdata: model-cache: ``` ### Your .env content ```Shell DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_PASSWORD=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis UPLOAD_LOCATION=/var/lib/immich/data JWT_SECRET=hi PUBLIC_LOGIN_PAGE_MESSAGE= IMMICH_WEB_URL=http://immich-web:3000 IMMICH_SERVER_URL=http://immich-server:3001 IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003 TYPESENSE_API_KEY=meep. TYPESENSE_ENABLED=true ``` ### Reproduction steps ```bash 1. Use the android app to upload a picture with a timestamp in the future 2. Check web app for the picture - it does not show up 3. Wait until the timestamp is in the past 4. The picture shows up in the web app ``` ### Additional information _No response_
OVERLORD added the 🗄️servergood first issue labels 2026-02-05 03:34:40 +03:00
Author
Owner

@bo0tzz commented on GitHub (Dec 9, 2023):

Because of this filter, assets in the future are never returned. That was added by #4540 as a fix for #4264 and #4538. The summary of those is that assets with a sufficiently large year number cause a "time zone displacement out of range" error. A better solution would be to find out at what year number that error starts happening and use that for the filter rather than NOW().

@bo0tzz commented on GitHub (Dec 9, 2023): Because of [this filter](https://github.com/immich-app/immich/blob/main/server/src/infra/repositories/asset.repository.ts#L768), assets in the future are never returned. That was added by #4540 as a fix for #4264 and #4538. The summary of those is that assets with a sufficiently large year number cause a "time zone displacement out of range" error. A better solution would be to find out at what year number that error starts happening and use that for the filter rather than `NOW()`.
Author
Owner

@jrasm91 commented on GitHub (Dec 9, 2023):

I'd guess 5 year digits instead of 4.

@jrasm91 commented on GitHub (Dec 9, 2023): I'd guess 5 year digits instead of 4.
Author
Owner

@m1yon commented on GitHub (Jan 2, 2024):

I'm also running into this issue a lot. I can try picking up this issue @bo0tzz

@m1yon commented on GitHub (Jan 2, 2024): I'm also running into this issue a lot. I can try picking up this issue @bo0tzz
Author
Owner

@bo0tzz commented on GitHub (Jan 18, 2024):

Fixed in #6457

@bo0tzz commented on GitHub (Jan 18, 2024): Fixed in #6457
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1752