mirror of
https://github.com/immich-app/immich.git
synced 2026-05-24 16:42:30 -04:00
6eab14f6a4414f13264ba0812cfaeea052602017
Adds firstInOrNearIndex / lastInOrNearIndex $state on TimelineDay and an updateAssetBoundaries() method that locates them via binary search on asset positions. Wired into both layout() (when positions change) and updateViewportProximities() (when scroll moves the viewport). This is purely additive — no consumer reads the new state yet. The existing ViewerAsset.$derived-based proximity machinery and TimelineDay.isInOrNearViewport .some() derive continue to work unchanged. Subsequent commits will (1) switch consumers to use the day-tier boundaries and (2) remove the now-redundant per-asset $derived. Change-Id: Ib4bdaec5df4801d1347f41bbabd607956a6a6964
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
547 MiB
Languages
TypeScript
52.3%
Dart
28.8%
Svelte
13.5%
Python
1.6%
Kotlin
1.3%
Other
2.2%