No description
Find a file
Luis Nachtigall 8a975e5ea9
refactor(mobile): cleanup iOS image loading pipeline (#27672)
* refactor: replace DispatchQueue + DispatchSemaphore with OperationQueue for image processing

* implement RequestRegistry and UnfairLock for managing cancellable requests

* implement requests registry for local and remote image processing

* remove Cancellable protocol and cancel method from request registry

* refactor: introduce ImageRequest base class with unified cancellation and finish helpers

* refactor: add get method to RequestRegistry and streamline request removal in image processing

* add guard to cancel to prevent double onCancel calls

* fix duplicate code merge issue

* refactor(ios): enhance finish method to return callback status

* remove unfitting methods form ImageRequest.swift and fix memory issue

* revert bad merge

* refactor(ios): resolve cancellation issues

* refactor(ios): streamline image request completion handling

* add return statements

* refactor(ios): simplify image request cancellation and registry handling

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2026-04-10 10:56:35 -05:00
.devcontainer fix: align devcontainers with standard development containers (#26321) 2026-02-20 09:37:07 -05:00
.github chore(deps): update github-actions (#27560) 2026-04-08 17:32:54 +02:00
.vscode chore: cleanup vscode settings (#26709) 2026-03-05 08:12:59 -05:00
cli chore: move .tsbuildinfo file to dist folder (#27682) 2026-04-10 16:02:25 +02:00
deployment chore(deps): update dependency terragrunt to v0.99.5 (#27567) 2026-04-07 12:37:29 +02:00
design chore: update readme screenshot (#8182) 2024-03-22 04:31:36 +00:00
docker chore(deps): update prom/prometheus docker digest to dda13e2 (#27566) 2026-04-07 11:49:05 +02:00
docs chore: version v2.7.3 2026-04-09 17:51:40 +00:00
e2e chore(deps): update dependency eslint-plugin-unicorn to v64 (#27575) 2026-04-10 10:23:42 +00:00
e2e-auth-server feat(server): support IDPs that only send the userinfo in the ID token (#26717) 2026-03-13 22:14:45 +01:00
fastlane Added required setup for f-droid (#88) 2022-03-29 14:13:47 -05:00
i18n chore: version v2.7.3 2026-04-09 17:51:40 +00:00
machine-learning chore: version v2.7.3 2026-04-09 17:51:40 +00:00
misc/release chore: update uv version setting command in release script (#25583) 2026-01-28 13:56:25 +00:00
mobile refactor(mobile): cleanup iOS image loading pipeline (#27672) 2026-04-10 10:56:35 -05:00
open-api chore: version v2.7.3 2026-04-09 17:51:40 +00:00
plugins chore(deps): update dependency typescript to v6 (#27577) 2026-04-07 17:15:55 +02:00
readme_i18n docs: update README_de_DE.md (#25443) 2026-01-22 12:55:44 +01:00
server chore: move .tsbuildinfo file to dist folder (#27682) 2026-04-10 16:02:25 +02:00
web chore(deps): update dependency eslint-plugin-unicorn to v64 (#27575) 2026-04-10 10:23:42 +00:00
.dockerignore chore: dockerfile layout changes (#19673) 2025-07-18 17:56:26 -04:00
.editorconfig chore: linting (#7532) 2026-01-04 16:05:56 +00:00
.gitattributes chore: do not render drift migration auto gen files (#20060) 2025-07-21 16:48:22 -05:00
.gitignore fix: server build (#27599) 2026-04-07 20:53:04 +00:00
.gitmodules chore: update submodule (#11789) 2024-08-14 22:06:11 +00:00
.pnpmfile.cjs fix: exiftool-vendored.exe (#26393) 2026-02-20 09:16:42 -05:00
CODE_OF_CONDUCT.md Added Code of conduct 2024-07-05 15:31:13 +00:00
CODEOWNERS chore: add mobile codeowner (#22130) 2025-09-17 14:08:35 +02:00
CONTRIBUTING.md fix(docs): we usually don't assign issues (#26691) 2026-03-04 09:43:19 -06:00
install.sh fix: bash install.sh script for mac os (#15874) 2025-02-03 16:41:42 -06:00
LICENSE Change license to AGPLv3 (#7046) 2024-02-12 15:31:59 +00:00
Makefile chore: replace remaining usages of npm with pnpm (#26411) 2026-02-21 08:44:33 -05:00
mise.toml chore(deps): update dependency terragrunt to v0.99.5 (#27567) 2026-04-07 12:37:29 +02:00
package.json chore: version v2.7.3 2026-04-09 17:51:40 +00:00
pnpm-lock.yaml chore(deps): update dependency eslint-plugin-unicorn to v64 (#27575) 2026-04-10 10:23:42 +00:00
pnpm-workspace.yaml chore(deps): ignore @parcel/watcher build script (#25361) 2026-01-19 09:08:25 -05:00
README.md fix(docs): update Readme links (#23959) 2025-11-18 21:32:11 -06:00
renovate.json fix: let renovate update base images (#27272) 2026-03-25 18:00:40 +00:00
SECURITY.md chore: use immich.app email for security reports (#10594) 2024-06-24 07:25:48 -07:00


License: AGPLv3 Discord

High performance self-hosted photo and video management solution



Català Español Français Italiano 日本語 한국어 Deutsch Nederlands Türkçe 简体中文 正體中文 Українська Русский Português Brasileiro Svenska العربية Tiếng Việt ภาษาไทย

Warning

⚠️ Always follow 3-2-1 backup plan for your precious photos and videos!

Note

You can find the main documentation, including installation guides, at https://immich.app/.

Demo

Access the demo here. For the mobile app, you can use https://demo.immich.app for the Server Endpoint URL.

Login credentials

Email Password
demo@immich.app demo

Features

Features Mobile Web
Upload and view videos and photos Yes Yes
Auto backup when the app is opened Yes N/A
Prevent duplication of assets Yes Yes
Selective album(s) for backup Yes N/A
Download photos and videos to local device Yes Yes
Multi-user support Yes Yes
Album and Shared albums Yes Yes
Scrubbable/draggable scrollbar Yes Yes
Support raw formats Yes Yes
Metadata view (EXIF, map) Yes Yes
Search by metadata, objects, faces, and CLIP Yes Yes
Administrative functions (user management) No Yes
Background backup Yes N/A
Virtual scroll Yes Yes
OAuth support Yes Yes
API Keys N/A Yes
LivePhoto/MotionPhoto backup and playback Yes Yes
Support 360 degree image display No Yes
User-defined storage structure Yes Yes
Public Sharing Yes Yes
Archive and Favorites Yes Yes
Global Map Yes Yes
Partner Sharing Yes Yes
Facial recognition and clustering Yes Yes
Memories (x years ago) Yes Yes
Offline support Yes No
Read-only gallery Yes Yes
Stacked Photos Yes Yes
Tags No Yes
Folder View Yes Yes

Translations

Read more about translations here.

Translation status

Repository activity

Activities

Star history

Star History Chart

Contributors