mirror of
https://github.com/immich-app/immich.git
synced 2026-06-26 08:24:29 -07:00
5165cf1d2f37c4eabe306337f0a8a251be5f88fa
* fix(mobile): force AssetViewerPage recreation on repeated view intents When View in Immich is triggered a second time while the viewer is already open, auto_route's replaceAll reuses the existing route (same type, null key) and Flutter keeps the old ConsumerState alive. The PageController and preloader inside _AssetViewerState are late final, so they never reset — the viewer stays frozen on the previous asset. Passing UniqueKey() to AssetViewerRoute ensures each view intent creates a fresh widget element, so initState runs, the PageController is initialised from scratch, and the new TimelineService from the updated ProviderScope override is picked up correctly. Fixes #29230 * clean up --------- Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
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/.
Links
Demo
Access the demo here. For the mobile app, you can use https://demo.immich.app for the Server Endpoint URL.
Login credentials
| 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.
Repository activity
Star history
Contributors
Description
High performance self-hosted photo and video management solution.
backup-toolfluttergoogle-photosgoogle-photos-alternativejavascriptmobile-appnestjsnodejsphoto-galleryphotosphotos-managementself-hostedsveltesveltekittypescriptvideos
Readme
646 MiB
Languages
TypeScript
52.4%
Dart
29%
Svelte
13.2%
Python
1.5%
Kotlin
1.4%
Other
2.2%