New Timeline on iOS reloads on every app launch and does not use local thumbnail cache (performance unusable with large libraries) #24371
Replies: 9 comments 3 replies
|
How is the behavior if you are connecting via direct ip address? |
|
I am currently using the app only via direct local IP, so I cannot compare it to any other connection method. |
ScreenRecording_12-01-2025.15-00-59_1.mov |
ScreenRecording_12-01-2025.15-01-20_1.movI uploaded a screen recording that shows how long the new timeline takes to load. This happens every time the app is reopened. |
|
Are you certain the app is successfully connecting to your server without any interference? |
|
Can you try logout and log back in or use the demo instance (double tapping on the spinning logo on the login screen) and see if the problem persists. From what I am seeing, the app isn't able to connect to your instance so it cannot make any request |
|
Thank you very much for your help! I have additional information regarding the behavior: This makes the iOS app very difficult to use with large libraries (~100,000 assets), especially since the old timeline (which worked fine) will soon be removed. Two errors are from the app log, one from the Docker log: [Nest] 7 - 12/03/2025, 3:40:47 PM ERROR [Microservices:LibraryService] Library watcher for library XXX encountered error: Error: ENOSPC: System limit for number of file watchers reached, watch '/XXX/Drive/7.jpg/SYNOINDEX_MEDIA_INFO' Error in runInIsolateGentle for remote-sync ClientException: Connection closed while receiving data, uri=http://10.1.1.10:2283/api/sync/stream #0 _HttpIncoming.listen. (dart:_http/http_impl.dart:438) Error getting user information from the server [CATCH ALL] |
|
The issue is not from the app but from exceeding the CPU/IO usage on your server from the file-watcher feature. You can refer to the following links to increase the limit You can also try disable the file watcher feature of the external library and see if the situation improves. FWIF, my library has ~100,000 assets, and the mobile app loads the data quickly. As you stated with the demo instance |
|
Do you have any other ideas I can test or change to make the photo library load smoothly on my iPhone? I'm grateful for any suggestions. |
Uh oh!
There was an error while loading. Please reload this page.
I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
Using the new timeline in Immich iOS causes the entire timeline to reload every time the app is opened. With large libraries (~100,000 assets), the loading process becomes extremely slow and results in empty placeholders for several seconds before thumbnails appear. The old timeline does not suffer from this and remains fast and responsive.
This issue appears regardless of whether “Prefer Server Images” is enabled or disabled.
The Immich web interface is not affected, and loads instantly.
Because the old timeline is planned for removal (likely in 2.4), this regression will make the iOS app very difficult to use for anyone with a large library.
Observed behavior
Expected behavior
Environment
Relevant logs
Error getting user information from the server [CATCH ALL]
TimeoutException after 0:00:07.000000: Future not completed
#0 Future.timeout. (dart:async/future_impl.dart:1042)
#1 AuthNotifier.saveAuthInfo (package:immich_mobile/providers/auth.provider.dart:134)
#2 SplashScreenPageState.resumeSession. (package:immich_mobile/pages/common/splash_screen.page.dart:60)
This log appears consistently when the app attempts to load user data and timeline metadata on launch. The timeout seems to delay the timeline rendering and may contribute to the empty placeholders.
Additional notes
Request
Please restore efficient local thumbnail caching and avoid full timeline reloads on each app launch. The behavior should match the responsiveness of the old timeline, especially for large libraries and offline scenarios.
Thank you for your work on Immich — this would greatly improve the iOS experience before the old timeline is removed.
The OS that Immich Server is running on
Portainer on Synology (Docker on Synology DSM)
Version of Immich Server
2.3.1
Version of Immich Mobile App
2.3.0 (build 236)
Platform with the issue
Device make and model
iPhone 15 Pro Max
Your docker-compose.yml content
Your .env content
Reproduction steps
2. Log in and let the initial sync complete.
3. Close the app completely (swipe it away).
4. Reopen the app.
5. Observe that the timeline stays empty (gray placeholders) for several seconds before thumbnails start appearing.
6. Scroll down the timeline → thumbnails continue loading slowly instead of coming from local cache.
7. Repeat the same steps with the old timeline enabled → thumbnails load instantly.
This is reproducible every time, independent of the “Prefer Server Images” setting.
Relevant log output
Additional information
No response
All reactions