Skip to content

v1.0

Latest

Choose a tag to compare

@dev-nick421 dev-nick421 released this 20 Oct 09:30
1de6570

Immich Swipe now works with Immich v3 (and v2 / v1.116+), installing it no longer requires CORS headers on Immich, and the UI got a light refresh.

Highlights

  • Immich v3 support (#30): uses POST /search/random instead of the removed GET /assets/random. Hidden Live Photo video parts are no longer offered for review.
  • Built-in Immich proxy (#22, #28): the Docker image forwards API calls to Immich itself, so the browser never hits CORS. Images built with .env use VITE_SERVER_URL; for the prebuilt image set IMMICH_URL.
  • Clear connection errors: instead of "Failed to fetch", the login screen says whether it's CORS, an unreachable host, HTTP vs. HTTPS, a wrong API key or a missing permission.
  • Login fixes (#8): the selected .env user survives a reload. Rebuilding with a changed VITE_SERVER_URL or API key takes effect immediately instead of reusing the old login.

Light UI pass

  • One consistent look (#5, #21): a single color palette in light and dark mode, and all menus and dialogs share the same sheet style. On phones you can swipe them down to close.
  • Settings (#17): a gear button holds review order, the album filter, skip videos, theme, review history and logout / switch user.
  • Album marks (#20): each photo shows which albums it's in, and the album picker marks them. Deleting a photo that's in an album asks first. A new filter shows only photos without an album, or only one album.
  • Tutorial (#19): a short "How it works" on first start, available again in Settings.
  • Better on mobile / as a PWA (#3, #6, #14): app icon and manifest for "Add to Home Screen", correct safe areas on notched phones, no theme flash on start. Photo info no longer covers small pictures, and the layout holds up with large iOS text sizes.
  • Open in Immich (#16, #34): opens in a new tab without taking the app with it.

Fixes: chronological mode no longer freezes when swiping fast, random mode no longer shows the same photo twice in a row, a double tap no longer deletes twice, MIT license added (#24).

Install / upgrade

Prebuilt image:

services:
  immich-swipe:
    image: ghcr.io/dev-nick421/immich-swipe:v1.0
    restart: unless-stopped
    ports:
      - "2293:80"
    environment:
      - IMMICH_URL=http://192.168.1.10:2283   # your Immich URL

Built with .env: docker compose up -d --build. API calls now go through the container to your VITE_SERVER_URL. If the container can't reach that address (e.g. a public domain without NAT loopback), set IMMICH_URL to Immich's LAN or Docker-internal address. docker logs immich-swipe shows the proxy target.

Notes:

  • Restricted API keys need user.read, asset.read, asset.view, asset.download, asset.delete, asset.update, album.read, albumAsset.create (see README).
  • Random mode no longer includes archived photos.

See the README for setup and troubleshooting.

Full Changelog: v0.5...v1.0