[META] App performance #5851

Closed
opened 2026-02-20 04:05:29 -05:00 by deekerman · 80 comments
Owner

Originally created by @alextran1502 on GitHub (Jun 20, 2025).

Originally assigned to: @alextran1502 on GitHub.

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

I am creating this issue to consolidate app performance issues, discussions, and updates. We are working on it as the last major task before the stable release.

The Issues

As the app transitions from remote-only to support local sync and offline-first, the foundation data model has been adapted over time, creating technical debt that degrades app performance. The issues below are the result of such.

  • Synchronization of server data and mobile data running on the UI thread causes janking/hanging while the progress is ongoing, making the app unpleasant to use.
  • Album search does not work correctly when the data sync is running because the list keeps updating and resetting.
  • When foreground backup is enabled, upon opening the app, it causes janking/hanging in the whole app.

The Reasons

Primarily because the sync mechanism runs on the UI thread, competing with the process of updating the frames. The current sync logic is expensive in terms of CPU operations, so the more assets and albums you have in your instance, the longer it will run. 50_000 feet view of the current syncs process is as follows

  • Fetch all assets from the server.
  • Fetch all albums and their assets locally.
  • Fetch all albums and their assets remotely.
  • Comparing to find the three states of each asset (local only, remote only, and merged)
  • Comparing each album to see what is new and what has been deleted, then updating the local database to reflect the changes

The Solutions

  • Move the sync process to the background (Dart's Isolate)
  • For local sync, instead of asking for all albums and their respective assets each sync cycle, use the native code to ask for delta changes
  • For remote sync, the mobile app offloads the complex sync logic to the server, which is often more powerful and more capable of data churning. The server will now determine what the app needs to sync.
  • Change the data model to be somewhat similar to the server databases
  • Move the SQLite on the mobile app to proper querying of the data

The Progress

June 30th

June 20th

  • New data models and data structures are designed
  • Integrated SQLite into the app
  • Remote sync now runs in the foreground
  • Local sync now runs in the foreground
  • Assets and EXIF information are now synced
  • New timeline (scrolling) using bucket system and SQLite queries

Preliminary testing indicates that the timeline runs smoothly during the remote sync process without any jankiness. Local sync is so fast that it's challenging to benchmark its behavior, but since it runs in the background as well, there should be no issue.

Note

Please note that the progress is under development tag and has not been rolled out to any part of the app. As they are interconnected, we will need to roll out all of them simultaneously.

The OS that Immich Server is running on

iOS/Android

Version of Immich Server

Less than v2.0.0

Version of Immich Mobile App

Less than v2.0.0

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

N/A

Your .env content

N/A

Reproduction steps

N/A

Relevant log output


Additional information

No response

Originally created by @alextran1502 on GitHub (Jun 20, 2025). Originally assigned to: @alextran1502 on GitHub. ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug I am creating this issue to consolidate app performance issues, discussions, and updates. We are working on it as the last major task before the stable release. ## The Issues As the app transitions from remote-only to support local sync and offline-first, the foundation data model has been adapted over time, creating technical debt that degrades app performance. The issues below are the result of such. - Synchronization of server data and mobile data running on the UI thread causes janking/hanging while the progress is ongoing, making the app unpleasant to use. - Album search does not work correctly when the data sync is running because the list keeps updating and resetting. - When foreground backup is enabled, upon opening the app, it causes janking/hanging in the whole app. ## The Reasons Primarily because the sync mechanism runs on the UI thread, competing with the process of updating the frames. The current sync logic is expensive in terms of CPU operations, so the more assets and albums you have in your instance, the longer it will run. 50_000 feet view of the current syncs process is as follows - Fetch all assets from the server. - Fetch all albums and their assets locally. - Fetch all albums and their assets remotely. - Comparing to find the three states of each asset (local only, remote only, and merged) - Comparing each album to see what is new and what has been deleted, then updating the local database to reflect the changes ## The Solutions - Move the sync process to the background (Dart's Isolate) - For local sync, instead of asking for all albums and their respective assets each sync cycle, use the native code to ask for delta changes - For remote sync, the mobile app offloads the complex sync logic to the server, which is often more powerful and more capable of data churning. The server will now determine what the app needs to sync. - Change the data model to be somewhat similar to the server databases - Move the SQLite on the mobile app to proper querying of the data ## The Progress ### June 30th - Album sync #19564 - Memory sync on the server #19579 - New asset viewer #19552 - New timeline with multi-selection, header, bottom sheet #19446 #19443 - Migrating actions to SQLite - WIP #19561 #19623 #19610 ### June 20th - New data models and data structures are designed - Integrated SQLite into the app - Remote sync now runs in the foreground - Local sync now runs in the foreground - Assets and EXIF information are now synced - New timeline (scrolling) using bucket system and SQLite queries Preliminary testing indicates that the timeline runs smoothly during the remote sync process without any jankiness. Local sync is so fast that it's challenging to benchmark its behavior, but since it runs in the background as well, there should be no issue. > [!NOTE] > Please note that the progress is under development tag and has not been rolled out to any part of the app. As they are interconnected, we will need to roll out all of them simultaneously. ### The OS that Immich Server is running on iOS/Android ### Version of Immich Server Less than v2.0.0 ### Version of Immich Mobile App Less than v2.0.0 ### Platform with the issue - [ ] Server - [ ] Web - [x] Mobile ### Your docker-compose.yml content ```YAML N/A ``` ### Your .env content ```Shell N/A ``` ### Reproduction steps N/A ### Relevant log output ```shell ``` ### Additional information _No response_
deekerman 2026-02-20 04:05:29 -05:00
Author
Owner

@Snufkin-8 commented on GitHub (Jun 25, 2025):

I have around 1.5M photos and 100K video, everytime I use mobile it take so long time (5-10mins) to load but in web it can load instantly. Would the fix also cosidering to solve the case for great amount of media files?

@Snufkin-8 commented on GitHub (Jun 25, 2025): I have around 1.5M photos and 100K video, everytime I use mobile it take so long time (5-10mins) to load but in web it can load instantly. Would the fix also cosidering to solve the case for great amount of media files?
Author
Owner

@alextran1502 commented on GitHub (Jun 25, 2025):

@sshubhm the initial sync might take a while but it shouldn't slow down the app during that process anymore

@alextran1502 commented on GitHub (Jun 25, 2025): @sshubhm the initial sync might take a while but it shouldn't slow down the app during that process anymore
Author
Owner

@Snufkin-8 commented on GitHub (Jun 25, 2025):

@sshubhm the initial sync might take a while but it shouldn't slow down the app during that process anymore

Do u mean this? It takes around 5-10mins to load for my case

Screenshot
![Screenshot_2025-06-25-15-34-24-469_app.alextran.immich.jpg](https://github.com/user-attachments/assets/bd20750c-20ef-4952-92a2-fd1ad15e14b8)
@Snufkin-8 commented on GitHub (Jun 25, 2025): > @sshubhm the initial sync might take a while but it shouldn't slow down the app during that process anymore Do u mean this? It takes around 5-10mins to load for my case <details> <summary>Screenshot</summary> <br> ![Screenshot_2025-06-25-15-34-24-469_app.alextran.immich.jpg](https://github.com/user-attachments/assets/bd20750c-20ef-4952-92a2-fd1ad15e14b8) </details>
Author
Owner

@alextran1502 commented on GitHub (Jun 25, 2025):

@Snufkin-8 we will be reworking the timeline with the new this new improvement so it will incrementally show the assets in the database, not letting you waiting on a blank screen like this

@alextran1502 commented on GitHub (Jun 25, 2025): @Snufkin-8 we will be reworking the timeline with the new this new improvement so it will incrementally show the assets in the database, not letting you waiting on a blank screen like this
Author
Owner

@Snufkin-8 commented on GitHub (Jun 26, 2025):

@Snufkin-8 we will be reworking the timeline with the new this new improvement so it will incrementally show the assets in the database, not letting you waiting on a blank screen like this

@alextran1502 Happy to hear that. Can't wait to see the new style and thanks for all the support on this app. Loving it too!

@Snufkin-8 commented on GitHub (Jun 26, 2025): > @Snufkin-8 we will be reworking the timeline with the new this new improvement so it will incrementally show the assets in the database, not letting you waiting on a blank screen like this @alextran1502 Happy to hear that. Can't wait to see the new style and thanks for all the support on this app. Loving it too!
Author
Owner

@janat-t commented on GitHub (Jun 26, 2025):

For remote sync, the mobile app offloads the complex sync logic to the server, which is often more powerful and more capable of data churning. The server will now determine what the app needs to sync.

Does this mean we're not moving toward client-side hashing yet? Am I right? Is it planned for the future?

@janat-t commented on GitHub (Jun 26, 2025): > For remote sync, the mobile app offloads the complex sync logic to the server, which is often more powerful and more capable of data churning. The server will now determine what the app needs to sync. Does this mean we're not moving toward client-side hashing yet? Am I right? Is it planned for the future?
Author
Owner

@alextran1502 commented on GitHub (Jun 26, 2025):

@janat-t if you are thinking about using the hash to detect which has been uploaded, then yes, it will be included in this improvement

@alextran1502 commented on GitHub (Jun 26, 2025): @janat-t if you are thinking about using the hash to detect which has been uploaded, then yes, it will be included in this improvement
Author
Owner

@Kidplayer666 commented on GitHub (Jun 26, 2025):

is this expected to also fix mobile sync to the server on iOS?

@Kidplayer666 commented on GitHub (Jun 26, 2025): is this expected to also fix mobile sync to the server on iOS?
Author
Owner

@alextran1502 commented on GitHub (Jun 26, 2025):

@Kidplayer666 what issue are you facing?

@alextran1502 commented on GitHub (Jun 26, 2025): @Kidplayer666 what issue are you facing?
Author
Owner

@Kidplayer666 commented on GitHub (Jun 27, 2025):

@alextran1502 In over a week of having the app in the background, I've seen 1, maybe two photos getting synced from my iPhone to the server

@Kidplayer666 commented on GitHub (Jun 27, 2025): @alextran1502 In over a week of having the app in the background, I've seen 1, maybe two photos getting synced from my iPhone to the server
Author
Owner

@alextran1502 commented on GitHub (Jun 27, 2025):

@Kidplayer666 I see, we will have some work around that background sync. I encourage to check out this FAQ to help making the background sync run better

https://immich.app/docs/FAQ#why-is-background-backup-on-ios-not-working

@alextran1502 commented on GitHub (Jun 27, 2025): @Kidplayer666 I see, we will have some work around that background sync. I encourage to check out this FAQ to help making the background sync run better https://immich.app/docs/FAQ#why-is-background-backup-on-ios-not-working
Author
Owner

@Kidplayer666 commented on GitHub (Jun 27, 2025):

@Kidplayer666 I see, we will have some work around that background sync. I encourage to check out this FAQ to help making the background sync run better

https://immich.app/docs/FAQ#why-is-background-backup-on-ios-not-working

For better or for worse, I've tried all of these, and it still doesn't work well enough. I'll have to stick to the self hosted ente for now

@Kidplayer666 commented on GitHub (Jun 27, 2025): > [@Kidplayer666](https://github.com/Kidplayer666) I see, we will have some work around that background sync. I encourage to check out this FAQ to help making the background sync run better > > https://immich.app/docs/FAQ#why-is-background-backup-on-ios-not-working For better or for worse, I've tried all of these, and it still doesn't work well enough. I'll have to stick to the self hosted ente for now
Author
Owner

@alextran1502 commented on GitHub (Jun 27, 2025):

@Kidplayer666 No worries, iOS background job is always finicky. I believe we understand the issue and have a plan to resolve it. Feel free to come back and try Immich when we reach stable release!

@alextran1502 commented on GitHub (Jun 27, 2025): @Kidplayer666 No worries, iOS background job is always finicky. I believe we understand the issue and have a plan to resolve it. Feel free to come back and try Immich when we reach stable release!
Author
Owner

@FawenYo commented on GitHub (Jun 30, 2025):

Hi, first of all, thanks for your hard work! Immich's active development pace is what I find most attractive about it.
Currently, the only thing preventing me from completely abandoning Google Photos and migrating to Immich is the performance issues with the Immich app (when there are a large number of photos/videos on the device, the app becomes completely unresponsive and unusable at startup).

Seeing this issue opened and continuously updated with progress makes me very excited about the stable release. I was wondering if there might be an ETA for these refactor/fix PRs? Thank you so much!

@FawenYo commented on GitHub (Jun 30, 2025): Hi, first of all, thanks for your hard work! Immich's active development pace is what I find most attractive about it. Currently, the only thing preventing me from completely abandoning Google Photos and migrating to Immich is the performance issues with the Immich app (when there are a large number of photos/videos on the device, the app becomes completely unresponsive and unusable at startup). Seeing this issue opened and continuously updated with progress makes me very excited about the stable release. I was wondering if there might be an ETA for these refactor/fix PRs? Thank you so much!
Author
Owner

@alextran1502 commented on GitHub (Jul 1, 2025):

@FawenYo we don't usually give out ETA but hopefully within the next few months, still a lot of work left to do to do since the foundation data structure has changed

@alextran1502 commented on GitHub (Jul 1, 2025): @FawenYo we don't usually give out ETA but hopefully within the next few months, still a lot of work left to do to do since the foundation data structure has changed
Author
Owner

@akostadinov commented on GitHub (Jul 3, 2025):

using the hash to detect which has been uploaded, then yes, it will be included in this improvement

Probably you have tohught about it, but saying FWIW. I think it is a good idea to check image name and size first and see if these exist. Only then perform hashing on client. Otherwise it might be hashing a lot of files that have no chance of differing.

@akostadinov commented on GitHub (Jul 3, 2025): > using the hash to detect which has been uploaded, then yes, it will be included in this improvement Probably you have tohught about it, but saying FWIW. I think it is a good idea to check image name and size first and see if these exist. Only then perform hashing on client. Otherwise it might be hashing a lot of files that have no chance of differing.
Author
Owner

@loveyu commented on GitHub (Jul 5, 2025):

Let me share my example. I use an Android client, and on the timeline, there are 100,000 photos and 1,500 videos, spanning from 15 years ago to now. I feel that it's unnecessary to display all the data from over a decade on the timeline. In fact, I mostly view data from just the past two years. Would it be possible to limit the default time range of the timeline? I believe this would greatly help with performance. If users want to see more data, the timeline could load additional years when scrolling to the end — I think showing one timeline per year would also work well. This way, there’s no need to write metadata for 100,000 images into SQLite all at once. I feel that the data loading process is already a bit overwhelming.

Currently, due to the large amount of data, automatic background sync is no longer working — I'm not sure of the exact reason. Also, because of the data size, the UI frequently crashes. I often need to force kill the app and restart it before data loads normally.

@loveyu commented on GitHub (Jul 5, 2025): Let me share my example. I use an Android client, and on the timeline, there are 100,000 photos and 1,500 videos, spanning from 15 years ago to now. I feel that it's unnecessary to display all the data from over a decade on the timeline. In fact, I mostly view data from just the past two years. Would it be possible to limit the default time range of the timeline? I believe this would greatly help with performance. If users want to see more data, the timeline could load additional years when scrolling to the end — I think showing one timeline per year would also work well. This way, there’s no need to write metadata for 100,000 images into SQLite all at once. I feel that the data loading process is already a bit overwhelming. Currently, due to the large amount of data, automatic background sync is no longer working — I'm not sure of the exact reason. Also, because of the data size, the UI frequently crashes. I often need to force kill the app and restart it before data loads normally.
Author
Owner

@mingqlin commented on GitHub (Jul 7, 2025):

Image

I have Photos: 800,000+, Video 55,000+ Size: 35TB

My performance issue with Immich

  1. Immich Android app is unusable, NEVER EVER finish sync timeline. Every time app start, it show "Building the timeline", never finish
  2. Immich Web: timeline first top half I could easily move around, bottom half, whenever I move further down, it always jump back to middle. screen recording: https://youtube.com/shorts/HKUQ9Xv1Vzc

Love Immich, hope above info helps

@mingqlin commented on GitHub (Jul 7, 2025): ![Image](https://github.com/user-attachments/assets/ed3eb1b8-d528-473b-aadc-786bf6b6b87b) I have Photos: 800,000+, Video 55,000+ Size: 35TB My performance issue with Immich 1. Immich Android app is unusable, NEVER EVER finish sync timeline. Every time app start, it show "Building the timeline", never finish 2. Immich Web: timeline first top half I could easily move around, bottom half, whenever I move further down, it always jump back to middle. screen recording: https://youtube.com/shorts/HKUQ9Xv1Vzc Love Immich, hope above info helps
Author
Owner

@mingqlin commented on GitHub (Jul 9, 2025):

Should we rethink build native IOS and Android Immich Client App, instead of using Flutter cross platform framework? Flutter has always have jank issue. I am no expert with latest version of Flutter, I did tried Flutter for few monthes in the past, had a lot of issue for building high performance app with smooth UI

@mingqlin commented on GitHub (Jul 9, 2025): Should we rethink build native IOS and Android Immich Client App, instead of using Flutter cross platform framework? Flutter has always have jank issue. I am no expert with latest version of Flutter, I did tried Flutter for few monthes in the past, had a lot of issue for building high performance app with smooth UI
Author
Owner

@alextran1502 commented on GitHub (Jul 9, 2025):

@mingqlin

Should we rethink build native IOS and Android Immich Client App, instead of using Flutter cross platform framework? Flutter has always have jank issue. I am no expert with latest version of Flutter, I did tried Flutter for few monthes in the past, had a lot of issue for building high performance app with smooth UI

Jank issue is not because of the framework but the way the code is structured to run. The new implementation we are working on, there is no jank while syncing 😉

@alextran1502 commented on GitHub (Jul 9, 2025): @mingqlin > Should we rethink build native IOS and Android Immich Client App, instead of using Flutter cross platform framework? Flutter has always have jank issue. I am no expert with latest version of Flutter, I did tried Flutter for few monthes in the past, had a lot of issue for building high performance app with smooth UI Jank issue is not because of the framework but the way the code is structured to run. The new implementation we are working on, there is no jank while syncing 😉
Author
Owner

@Andersama commented on GitHub (Jul 10, 2025):

Bit disconcerting that the app hung when I attempted to upload ~100 images. There's some definite need to improve the mobile apps. I'd also recommend not displaying and/or previewing only a couple of the images being sent when the shared/upload list is large (or allowing to scroll through only a couple at a time). I'm fairly confident my phone's attempting to render the full list of them every frame at full resolution, otherwise I've no idea why it'd stall that way.

Also the "uploading" notification says "Downloading media", also a bit confusing.

@Andersama commented on GitHub (Jul 10, 2025): Bit disconcerting that the app hung when I attempted to upload ~100 images. There's some definite need to improve the mobile apps. I'd also recommend not displaying and/or previewing only a couple of the images being sent when the shared/upload list is large (or allowing to scroll through only a couple at a time). I'm fairly confident my phone's attempting to render the full list of them every frame at full resolution, otherwise I've no idea why it'd stall that way. Also the "uploading" notification says "Downloading media", also a bit confusing.
Author
Owner

@Chuckame commented on GitHub (Jul 15, 2025):

The app on both my wife and me has the app freezing each second when launching the app since a long enough moment to have the loading icon next to the album menu icon. Seems like loading data on the UI thread.

@Chuckame commented on GitHub (Jul 15, 2025): The app on both my wife and me has the app freezing each second when launching the app since a long enough moment to have the loading icon next to the album menu icon. Seems like loading data on the UI thread.
Author
Owner

@mingqlin commented on GitHub (Jul 16, 2025):

Image

I have Photos: 800,000+, Video 55,000+ Size: 35TB

My performance issue with Immich

  1. Immich Android app is unusable, NEVER EVER finish sync timeline. Every time app start, it show "Building the timeline", never finish
  2. Immich Web: timeline first top half I could easily move around, bottom half, whenever I move further down, it always jump back to middle. screen recording: https://youtube.com/shorts/HKUQ9Xv1Vzc

Love Immich, hope above info helps

Also, Review Duplicates always failed to open with following error

Internal server error (500)

Stacktrace
Error: Error: 500
at Object.st [as ok] (https://photo..com/_app/immutable/chunks/I4ASpmdk.js:1:5945)
at async bt (https://photo.
.com/_app/immutable/nodes/29.Bpx4vzP4.js:2:1629)
at async $e (https://photo.***.com/_app/immutable/chunks/BpN-hVxZ.js:1:15858)

@mingqlin commented on GitHub (Jul 16, 2025): > ![Image](https://github.com/user-attachments/assets/ed3eb1b8-d528-473b-aadc-786bf6b6b87b) > > I have Photos: 800,000+, Video 55,000+ Size: 35TB > > My performance issue with Immich > > 1. Immich Android app is unusable, NEVER EVER finish sync timeline. Every time app start, it show "Building the timeline", never finish > 2. Immich Web: timeline first top half I could easily move around, bottom half, whenever I move further down, it always jump back to middle. screen recording: https://youtube.com/shorts/HKUQ9Xv1Vzc > > Love Immich, hope above info helps Also, Review Duplicates always failed to open with following error Internal server error (500) Stacktrace Error: Error: 500 at Object.st [as ok] (https://photo.***.com/_app/immutable/chunks/I4ASpmdk.js:1:5945) at async bt (https://photo.***.com/_app/immutable/nodes/29.Bpx4vzP4.js:2:1629) at async $e (https://photo.***.com/_app/immutable/chunks/BpN-hVxZ.js:1:15858)
Author
Owner

@popy2k14 commented on GitHub (Jul 19, 2025):

Hope this gets released soon.
My app froze on splash screen very often. After closing and reopening it, it loads instantly.

@popy2k14 commented on GitHub (Jul 19, 2025): Hope this gets released soon. My app froze on splash screen very often. After closing and reopening it, it loads instantly.
Author
Owner

@alextran1502 commented on GitHub (Jul 24, 2025):

Most issue are addressed in v1.136.0 release https://github.com/immich-app/immich/releases/tag/v1.136.0

@alextran1502 commented on GitHub (Jul 24, 2025): Most issue are addressed in `v1.136.0` release https://github.com/immich-app/immich/releases/tag/v1.136.0
Author
Owner

@dstapp commented on GitHub (Jul 24, 2025):

This is a huge milestone. Thanks so much for your efforts, guys <3 Currently updating and am very excited.

@dstapp commented on GitHub (Jul 24, 2025): This is a huge milestone. Thanks so much for your efforts, guys <3 Currently updating and am very excited.
Author
Owner

@philnagel commented on GitHub (Jul 24, 2025):

Just updated both Android app and server and it seems like a huge improvement already! Thank you!

@philnagel commented on GitHub (Jul 24, 2025): Just updated both Android app and server and it seems like a huge improvement already! Thank you!
Author
Owner

@cfelicio commented on GitHub (Jul 24, 2025):

First of all, great work, pretty excited to test the new features, and the timeline is working great!

I'm a little confused by the new backup option vs the old foreground / background backup options. If I enable the new backup option, how does it affect the old foreground / background options? Are they dependent on each other or different mechanisms?

Also, the old app would let you specify to only upload when on wifi, but that option is now gone. How can I make sure Immich does not upload when running without Wifi, to avoid potentially consuming all cell phone data?

@cfelicio commented on GitHub (Jul 24, 2025): First of all, great work, pretty excited to test the new features, and the timeline is working great! I'm a little confused by the new backup option vs the old foreground / background backup options. If I enable the new backup option, how does it affect the old foreground / background options? Are they dependent on each other or different mechanisms? Also, the old app would let you specify to only upload when on wifi, but that option is now gone. How can I make sure Immich does not upload when running without Wifi, to avoid potentially consuming all cell phone data?
Author
Owner

@mescanne commented on GitHub (Jul 24, 2025):

Carlos -- in the release notes it mentions "Background queuing of newly
taken photos is not yet implemented. We will start working on this next."
So it might not be working at all at the moment. But it's a beta.

On Thu, 24 Jul 2025 at 21:15, Carlos Felicio @.***>
wrote:

cfelicio left a comment (immich-app/immich#19370)
https://github.com/immich-app/immich/issues/19370#issuecomment-3114792954

First of all, great work, pretty excited to test the new features, and the
timeline is working great!

I'm a little confused by the new backup option vs the old foreground /
background backup options. If I enable the new backup option, how does it
affect the old foreground / background options? Are they dependent on each
other or different mechanisms?

Also, the old app would let you specify to only upload when on wifi, but
that option is now gone. How can I make sure Immich does not upload when
running without Wifi, to avoid potentially consuming all cell phone data?


Reply to this email directly, view it on GitHub
https://github.com/immich-app/immich/issues/19370#issuecomment-3114792954,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAM2CBFLTWKXLXTXLANUDL33KE5HFAVCNFSM6AAAAAB7YVRSM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTCMJUG44TEOJVGQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@mescanne commented on GitHub (Jul 24, 2025): Carlos -- in the release notes it mentions "Background queuing of newly taken photos is not yet implemented. We will start working on this next." So it might not be working *at all* at the moment. But it's a beta. On Thu, 24 Jul 2025 at 21:15, Carlos Felicio ***@***.***> wrote: > *cfelicio* left a comment (immich-app/immich#19370) > <https://github.com/immich-app/immich/issues/19370#issuecomment-3114792954> > > First of all, great work, pretty excited to test the new features, and the > timeline is working great! > > I'm a little confused by the new backup option vs the old foreground / > background backup options. If I enable the new backup option, how does it > affect the old foreground / background options? Are they dependent on each > other or different mechanisms? > > Also, the old app would let you specify to only upload when on wifi, but > that option is now gone. How can I make sure Immich does not upload when > running without Wifi, to avoid potentially consuming all cell phone data? > > — > Reply to this email directly, view it on GitHub > <https://github.com/immich-app/immich/issues/19370#issuecomment-3114792954>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAM2CBFLTWKXLXTXLANUDL33KE5HFAVCNFSM6AAAAAB7YVRSM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTCMJUG44TEOJVGQ> > . > You are receiving this because you are subscribed to this thread.Message > ID: ***@***.***> >
Author
Owner

@mingqlin commented on GitHub (Jul 25, 2025):

First amazing job team.
Issues:

  1. Android: Sync still seem keep on going, it has been at least 10 hours since I upgraded, and sync icon still spinning.

Server Stats:
Image
Server Stats doesn't seem to match what show up on Android Sync Stats, as you can see it is still spinning
Image
Image

  1. Android: VERY slow loading thumbnail image, could take mins for thumbnail to show up
    Image

  2. Web: bottom half timeline scroll still not working, show here: https://youtube.com/shorts/HKUQ9Xv1Vzc?si=0qPUxlbKQxwipVXi

@mingqlin commented on GitHub (Jul 25, 2025): First amazing job team. Issues: 1. Android: Sync still seem keep on going, it has been at least 10 hours since I upgraded, and sync icon still spinning. Server Stats: <img width="1509" height="569" alt="Image" src="https://github.com/user-attachments/assets/3ed8a006-1923-4645-9510-4f70fec4086e" /> Server Stats doesn't seem to match what show up on Android Sync Stats, as you can see it is still spinning ![Image](https://github.com/user-attachments/assets/7db6fcce-31a2-4c16-9d46-e05b4675a302) ![Image](https://github.com/user-attachments/assets/1f74e3f0-d3a4-4d57-8778-2e41ac5554b9) 2. Android: VERY slow loading thumbnail image, could take mins for thumbnail to show up ![Image](https://github.com/user-attachments/assets/a8aa0153-f134-4b22-bacc-69e9306fee8d) 3. Web: bottom half timeline scroll still not working, show here: https://youtube.com/shorts/HKUQ9Xv1Vzc?si=0qPUxlbKQxwipVXi
Author
Owner

@lerra commented on GitHub (Jul 25, 2025):

I just wanted to say, big thank you, the app went from unusable to awesome, high five!

@lerra commented on GitHub (Jul 25, 2025): I just wanted to say, big thank you, the app went from unusable to awesome, high five!
Author
Owner

@alextran1502 commented on GitHub (Jul 26, 2025):

@mingqlin can you grab me the mobile app log?

@alextran1502 commented on GitHub (Jul 26, 2025): @mingqlin can you grab me the mobile app log?
Author
Owner

@mingqlin commented on GitHub (Jul 26, 2025):

@mingqlin can you grab me the mobile app log?

Thanks Alex, log attached. After couple days, sync status still spinning

Also, everytine immch Android app starts(kill then restart), it take 9 second to load the app (color Immich logo spin for 9 second, then timeline show up

Immich_log_2025-07-26T16_57_30.636732.log

@mingqlin commented on GitHub (Jul 26, 2025): > [@mingqlin](https://github.com/mingqlin) can you grab me the mobile app log? Thanks Alex, log attached. After couple days, sync status still spinning Also, everytine immch Android app starts(kill then restart), it take 9 second to load the app (color Immich logo spin for 9 second, then timeline show up [Immich_log_2025-07-26T16_57_30.636732.log](https://github.com/user-attachments/files/21448748/Immich_log_2025-07-26T16_57_30.636732.log)
Author
Owner

@alextran1502 commented on GitHub (Jul 26, 2025):

@mingqlin I suspect with your case, the amount of data transfer over from the server will need longer timeout value of your reverse proxy. Can you please increase it or try local IP?

Cc @shenlong-tanwen I think the 9s it takes is for Dart to build out the timeline skeleton. No need to optimize now but something to keep in mind

@alextran1502 commented on GitHub (Jul 26, 2025): @mingqlin I suspect with your case, the amount of data transfer over from the server will need longer timeout value of your reverse proxy. Can you please increase it or try local IP? Cc @shenlong-tanwen I think the 9s it takes is for Dart to build out the timeline skeleton. No need to optimize now but something to keep in mind
Author
Owner

@benkyd commented on GitHub (Jul 26, 2025):

Fantastic work everyone, the app is now usable at LAST!
I am having one issue though. Hashing has been going on for a two days now, i’ve had the app open in the foreground for a few hours in case it was a job that required that. as a result all of my images have duplicates

Image Image

Mobile logs also attached

Immich_log_2025-07-26T11_13_29.053195.log

@benkyd commented on GitHub (Jul 26, 2025): Fantastic work everyone, the app is now usable at LAST! I am having one issue though. Hashing has been going on for a two days now, i’ve had the app open in the foreground for a few hours in case it was a job that required that. as a result all of my images have duplicates <img width="968" height="2094" alt="Image" src="https://github.com/user-attachments/assets/27bd3a73-7c0d-47d0-9b12-4bb2c33532a9" /> <img width="968" height="2094" alt="Image" src="https://github.com/user-attachments/assets/c48cbd44-2918-445f-8101-7bcd720085b7" /> Mobile logs also attached [Immich_log_2025-07-26T11_13_29.053195.log](https://github.com/user-attachments/files/21448982/Immich_log_2025-07-26T11_13_29.053195.log)
Author
Owner

@Bruceforce commented on GitHub (Jul 26, 2025):

  1. Android: Sync still seem keep on going, it has been at least 10 hours since I upgraded, and sync icon still spinning.
  2. Android: VERY slow loading thumbnail image, could take mins for thumbnail to show up

@mingqlin: You are using Cloudflare (probably the free version). If you try to upload anything larger than 100 MB it will will be blocked. So your upload will never finish - no matter how long you wait. I had the same issue (unrelated to the new released version) https://github.com/immich-app/immich/issues/19594#issuecomment-3064023847. So you should definitely try local IP as @alextran1502 suggested.

@Bruceforce commented on GitHub (Jul 26, 2025): > 1. Android: Sync still seem keep on going, it has been at least 10 hours since I upgraded, and sync icon still spinning. > 2. Android: VERY slow loading thumbnail image, could take mins for thumbnail to show up @mingqlin: You are using Cloudflare (probably the free version). If you try to upload anything larger than 100 MB it will will be blocked. So your upload will never finish - no matter how long you wait. I had the same issue (unrelated to the new released version) https://github.com/immich-app/immich/issues/19594#issuecomment-3064023847. So you should definitely try local IP as @alextran1502 suggested.
Author
Owner

@mingqlin commented on GitHub (Jul 28, 2025):

@mingqlin I suspect with your case, the amount of data transfer over from the server will need longer timeout value of your reverse proxy. Can you please increase it or try local IP?

@alextran1502 Thank you for your help

I have Uninstall/reinstall Immich app, connect it with my local ip, it has been 2 days, last two days , I have start and using immich for at least 10 times, at this moment, the Sync Remote is still spinning. attach is log

Immich_log_2025-07-28T07_57_23.702212.log

@mingqlin commented on GitHub (Jul 28, 2025): > [@mingqlin](https://github.com/mingqlin) I suspect with your case, the amount of data transfer over from the server will need longer timeout value of your reverse proxy. Can you please increase it or try local IP? @alextran1502 Thank you for your help I have Uninstall/reinstall Immich app, connect it with my local ip, it has been 2 days, last two days , I have start and using immich for at least 10 times, at this moment, the Sync Remote is still spinning. attach is log [Immich_log_2025-07-28T07_57_23.702212.log](https://github.com/user-attachments/files/21468850/Immich_log_2025-07-28T07_57_23.702212.log)
Author
Owner

@Kidplayer666 commented on GitHub (Jul 28, 2025):

While the improvements are clear, on the beta timeline and backup, i still haven't been able to trigger the background backup (on iOS)
Edit: yes, i did check background app refresh, yes i did let the app queue everything in foreground, and i checked that i am not in low power consumption mode, and that the phone is charging

@Kidplayer666 commented on GitHub (Jul 28, 2025): While the improvements are clear, on the beta timeline and backup, i still haven't been able to trigger the background backup (on iOS) Edit: yes, i did check background app refresh, yes i did let the app queue everything in foreground, and i checked that i am not in low power consumption mode, and that the phone is charging
Author
Owner

@alextran1502 commented on GitHub (Jul 28, 2025):

While the improvements are clear, on the beta timeline and backup, i still haven't been able to trigger the background backup (on iOS)

Background upload isn't explicitly triggered anymore. Now we create a queue and push item into it. The OS will handle upload them automatically.

You can read a bit more here https://developer.apple.com/documentation/foundation/urlsession

In the future, we will use background task trigger to wake the app up and then push newly taken photos to the queue but not handling the upload directly from the app. It will give the app a better "standing" with the OS so the task will be triggered more often

@alextran1502 commented on GitHub (Jul 28, 2025): > While the improvements are clear, on the beta timeline and backup, i still haven't been able to trigger the background backup (on iOS) Background upload isn't explicitly triggered anymore. Now we create a queue and push item into it. The OS will handle upload them automatically. You can read a bit more here https://developer.apple.com/documentation/foundation/urlsession In the future, we will use background task trigger to wake the app up and then push newly taken photos to the queue but not handling the upload directly from the app. It will give the app a better "standing" with the OS so the task will be triggered more often
Author
Owner

@superboo07 commented on GitHub (Jul 28, 2025):

the IOS app taking several minutes just to become usable when you have a big image library is insane no matter how you look at it. the app is great on android so I have to wonder, what happened here? no matter how many photos I have the android app just gets to it, even immeditetly being able to start back up. meanwhile on IOS if I open the app I have to wait a solid 4 minutes just for it to become usable, add even more minutes if I want to back up. the latter isn't that much of an issue since I'm accessing more often then I'm backing up (and the background backups work), but the former issue is quite the pain in the reer since if I background the app just to do anything else, the task will just be killed and the cycle begins again.

@superboo07 commented on GitHub (Jul 28, 2025): the IOS app taking several minutes just to become usable when you have a big image library is insane no matter how you look at it. the app is great on android so I have to wonder, what happened here? no matter how many photos I have the android app just gets to it, even immeditetly being able to start back up. meanwhile on IOS if I open the app I have to wait a solid 4 minutes just for it to become usable, add even more minutes if I want to back up. the latter isn't that much of an issue since I'm accessing more often then I'm backing up (and the background backups work), but the former issue is quite the pain in the reer since if I background the app just to do anything else, the task will just be killed and the cycle begins again.
Author
Owner

@shenlong-tanwen commented on GitHub (Jul 29, 2025):

the IOS app taking several minutes just to become usable when you have a big image library is insane no matter how you look at it.

Is this with the new beta timeline? If so, I'd like to take a look at the app logs. Can you export and share it?

@shenlong-tanwen commented on GitHub (Jul 29, 2025): > the IOS app taking several minutes just to become usable when you have a big image library is insane no matter how you look at it. Is this with the new beta timeline? If so, I'd like to take a look at the app logs. Can you export and share it?
Author
Owner

@jaimetur commented on GitHub (Jul 29, 2025):

the IOS app taking several minutes just to become usable when you have a big image library is insane no matter how you look at it. the app is great on android so I have to wonder, what happened here? no matter how many photos I have the android app just gets to it, even immeditetly being able to start back up. meanwhile on IOS if I open the app I have to wait a solid 4 minutes just for it to become usable, add even more minutes if I want to back up. the latter isn't that much of an issue since I'm accessing more often then I'm backing up (and the background backups work), but the former issue is quite the pain in the reer since if I background the app just to do anything else, the task will just be killed and the cycle begins again.

For sure this is not with the new beta Timeline which is quite fast.

@jaimetur commented on GitHub (Jul 29, 2025): > the IOS app taking several minutes just to become usable when you have a big image library is insane no matter how you look at it. the app is great on android so I have to wonder, what happened here? no matter how many photos I have the android app just gets to it, even immeditetly being able to start back up. meanwhile on IOS if I open the app I have to wait a solid 4 minutes just for it to become usable, add even more minutes if I want to back up. the latter isn't that much of an issue since I'm accessing more often then I'm backing up (and the background backups work), but the former issue is quite the pain in the reer since if I background the app just to do anything else, the task will just be killed and the cycle begins again. For sure this is not with the new beta Timeline which is quite fast.
Author
Owner

@superboo07 commented on GitHub (Jul 29, 2025):

how would I enable the beta timeline?

@superboo07 commented on GitHub (Jul 29, 2025): how would I enable the beta timeline?
Author
Owner

@sadorowo commented on GitHub (Jul 30, 2025):

how would I enable the beta timeline?

  1. Ensure that both server and client are updated to 1.136.0+. You can check it by opening the mobile app, then clicking on your profile picture. Example:
Image
  1. Go to Settings and toggle this:
Image

Then the migrations will run and new beta features will be enabled.

@sadorowo commented on GitHub (Jul 30, 2025): > how would I enable the beta timeline? 1. Ensure that both server and client are updated to 1.136.0+. You can check it by opening the mobile app, then clicking on your profile picture. Example: <img width="1080" height="1188" alt="Image" src="https://github.com/user-attachments/assets/e9e84a05-05e0-454e-8ba5-3e4e4d1ee429" /> 2. Go to Settings and toggle this: <img width="1080" height="492" alt="Image" src="https://github.com/user-attachments/assets/95797ed9-5939-4161-95f0-025a43816cf7" /> Then the migrations will run and new beta features will be enabled.
Author
Owner

@icez commented on GitHub (Jul 30, 2025):

I'm using both android and ipad. my android has this option show up but not on my ipad. checked the app version and it's already 1.136.

@icez commented on GitHub (Jul 30, 2025): I'm using both android and ipad. my android has this option show up but not on my ipad. checked the app version and it's already 1.136.
Author
Owner

@sadorowo commented on GitHub (Jul 30, 2025):

I'm using both android and ipad. my android has this option show up but not on my ipad. checked the app version and it's already 1.136.

Alex has mentioned in some issue that he forgot to add this option to tablet view. This was fixed in #20187. For now you can force the layout to be like in mobile (i don't know how can it be done in Apple devices, maybe split 2 apps next to each other?)

@sadorowo commented on GitHub (Jul 30, 2025): > I'm using both android and ipad. my android has this option show up but not on my ipad. checked the app version and it's already 1.136. Alex has mentioned in some issue that he forgot to add this option to tablet view. This was fixed in #20187. For now you can force the layout to be like in mobile (i don't know how can it be done in Apple devices, maybe split 2 apps next to each other?)
Author
Owner

@nielseulink commented on GitHub (Jul 30, 2025):

Great update. Seems to work way faster!

I have one thing thats kinda strange after the update:
The back-up function seems to start the back-up process of my files over and over.
Anyone else who have noticed the same?

@nielseulink commented on GitHub (Jul 30, 2025): Great update. Seems to work way faster! I have one thing thats kinda strange after the update: The back-up function seems to start the back-up process of my files over and over. Anyone else who have noticed the same?
Author
Owner

@s-martin commented on GitHub (Jul 30, 2025):

The back-up function seems to start the back-up process of my files over and over.
Anyone else who have noticed the same?

Yes, see #20254

@s-martin commented on GitHub (Jul 30, 2025): > The back-up function seems to start the back-up process of my files over and over. > Anyone else who have noticed the same? Yes, see #20254
Author
Owner

@nielseulink commented on GitHub (Jul 30, 2025):

Yes, see #20254

Ah yep, having the same. Thank for pointing me to there!

@nielseulink commented on GitHub (Jul 30, 2025): > Yes, see [#20254](https://github.com/immich-app/immich/issues/20254) Ah yep, having the same. Thank for pointing me to there!
Author
Owner

@mingqlin commented on GitHub (Aug 1, 2025):

Thanks team for the hard work

Issues

1 Android: Thumbnail take few mins to load: https://youtu.be/FOwYvWgJ4sA?si=oC3z3WQD2xkytCVb
2. Web: timeline still have problems move pass certain date, it always jump back: https://youtube.com/shorts/HKUQ9Xv1Vzc?si=2Tdhx0c02Qp3Taam
Watch above youtube on pc browser, watch on the phone get.cropped

@mingqlin commented on GitHub (Aug 1, 2025): Thanks team for the hard work Issues 1 Android: Thumbnail take few mins to load: https://youtu.be/FOwYvWgJ4sA?si=oC3z3WQD2xkytCVb 2. Web: timeline still have problems move pass certain date, it always jump back: https://youtube.com/shorts/HKUQ9Xv1Vzc?si=2Tdhx0c02Qp3Taam Watch above youtube on pc browser, watch on the phone get.cropped
Author
Owner

@the-real-naxgo commented on GitHub (Aug 8, 2025):

Great update! For my wife's S21 Ultra, it made the app usable. Me, on my S20, did not have performance issue. But after switching to the beta timeline, for both of us, the Camera album does not get updated with the latest photos. The photos get uploaded (semi-manually) just not added to the album. I switched back to the old timeline and new photos get added to the album. Am I missing something?
Thanks

@the-real-naxgo commented on GitHub (Aug 8, 2025): Great update! For my wife's S21 Ultra, it made the app usable. Me, on my S20, did not have performance issue. But after switching to the beta timeline, for both of us, the Camera album does not get updated with the latest photos. The photos get uploaded (semi-manually) just not added to the album. I switched back to the old timeline and new photos get added to the album. Am I missing something? Thanks
Author
Owner

@alextran1502 commented on GitHub (Aug 12, 2025):

@the-real-naxgo those features haven't made to the new timeline yet

@alextran1502 commented on GitHub (Aug 12, 2025): @the-real-naxgo those features haven't made to the new timeline yet
Author
Owner

@Fjetland commented on GitHub (Aug 12, 2025):

Im with the others here, great update. However, two weeks in i have still only been able to process 10.000 of my 40000 images. So while it seems to do work when i open the app and for some time after, it will not continuously do a background sync, so i will leave it at my desk open, but it seems to stop with my screen lock timer. im running Server: v.1.137.3 - App version: 1.137.2 build 213, on iPhone 14 Pro iOS version 18.5

@Fjetland commented on GitHub (Aug 12, 2025): Im with the others here, great update. However, two weeks in i have still only been able to process 10.000 of my 40000 images. So while it seems to do work when i open the app and for some time after, it will not continuously do a background sync, so i will leave it at my desk open, but it seems to stop with my screen lock timer. im running Server: v.1.137.3 - App version: 1.137.2 build 213, on iPhone 14 Pro iOS version 18.5
Author
Owner

@kevincox commented on GitHub (Aug 12, 2025):

I also think I am having issues with background sync. I think it was working fairly well on the first beta on Android, but now I'm running 1.137.2 on both Android and iOS and things aren't syncing in the background. Additionally on Android most if not all local photos are showing a "no cloud" icon despite being backed up to the server. (IDK about iOS, I don't use it as much).

@kevincox commented on GitHub (Aug 12, 2025): I also think I am having issues with background sync. I think it was working fairly well on the first beta on Android, but now I'm running 1.137.2 on both Android and iOS and things aren't syncing in the background. Additionally on Android most if not all local photos are showing a "no cloud" icon despite being backed up to the server. (IDK about iOS, I don't use it as much).
Author
Owner

@popy2k14 commented on GitHub (Aug 12, 2025):

Same issue here, not background syn with new timeline feature on android.

@popy2k14 commented on GitHub (Aug 12, 2025): Same issue here, not background syn with new timeline feature on android.
Author
Owner

@melpomene commented on GitHub (Aug 19, 2025):

Using 1.138.1 on iPhone (same server version) I am no longer able to sync my photos from my phone to immich. This has been ongoing for some time so at least one or two version back.

When I switch to the Backup page it says 0 asset takes a few moments and then the UI freezes and does no backing up until the screen locks and nothing happens. When I unlock the phone again the app has seemingly shut off and I need to do it again.

If I keep the screen for a long time by continuously pressing it, it sometimes manages to figure out there are 100k+ assets but eventually it freezes again and as far as I can tell it never gets to a syncing step.

It is the same whether I have turned on Foreground backup or not.

@melpomene commented on GitHub (Aug 19, 2025): Using 1.138.1 on iPhone (same server version) I am no longer able to sync my photos from my phone to immich. This has been ongoing for some time so at least one or two version back. When I switch to the Backup page it says 0 asset takes a few moments and then the UI freezes and does no backing up until the screen locks and nothing happens. When I unlock the phone again the app has seemingly shut off and I need to do it again. If I keep the screen for a long time by continuously pressing it, it sometimes manages to figure out there are 100k+ assets but eventually it freezes again and as far as I can tell it never gets to a syncing step. It is the same whether I have turned on Foreground backup or not.
Author
Owner

@alextran1502 commented on GitHub (Aug 19, 2025):

@melpomene Are you on the beta timeline?

@alextran1502 commented on GitHub (Aug 19, 2025): @melpomene Are you on the beta timeline?
Author
Owner

@Kidplayer666 commented on GitHub (Aug 19, 2025):

I've been using the new beta timeline, and every time I close and reopen Immich, it starts requeueing all the fotos for background backup. Is this expected?

@Kidplayer666 commented on GitHub (Aug 19, 2025): I've been using the new beta timeline, and every time I close and reopen Immich, it starts requeueing all the fotos for background backup. Is this expected?
Author
Owner

@melpomene commented on GitHub (Aug 19, 2025):

@alextran1502 No. Would that potentially help?

@melpomene commented on GitHub (Aug 19, 2025): @alextran1502 No. Would that potentially help?
Author
Owner

@alextran1502 commented on GitHub (Aug 19, 2025):

@melpomene yes!

@alextran1502 commented on GitHub (Aug 19, 2025): @melpomene yes!
Author
Owner

@FringeNet commented on GitHub (Aug 20, 2025):

Same issue here, I have One UI 7.
App is taking a long time to launch, and background backup/sync is spotty at best.
I have tried all the tricks in the book to keep the app running in the background with no luck.

I have seen several apps use persistent notifications to get around background service limitations.

Examples:

KDE Connect
AccuBattery
Image Image

I went digging through the codebase and I see the background service is built in dart, perhaps it would perform more reliably in native kotlin? I am no expert on this though, only good with Java

@FringeNet commented on GitHub (Aug 20, 2025): Same issue here, I have One UI 7. App is taking a long time to launch, and background backup/sync is spotty at best. I have tried all the tricks in the book to keep the app running in the background with no luck. I have seen several apps use persistent notifications to get around background service limitations. Examples: ``` KDE Connect AccuBattery ``` <img width="108" height="234" alt="Image" src="https://github.com/user-attachments/assets/f1bbafdd-3bb6-4b89-910b-a8dd2de5a53a" /> <img width="108" height="234" alt="Image" src="https://github.com/user-attachments/assets/d7fd8ee4-8981-4b63-85d9-d8713cb5da7f" /> I went digging through the codebase and I see the background service is built in dart, perhaps it would perform more reliably in native kotlin? I am no expert on this though, only good with Java
Author
Owner

@melpomene commented on GitHub (Aug 20, 2025):

@alextran1502 Great! Turned it on and now my Photos tab has a much more complete view of the photos on my phone! The actual syncing to the server doesn't seem to have started yet. Is my assumption that it needs to complete hashing all the assets before it starts syncing again?

It has been about 12h since I turned it on but it it is still just on 750 assets out of ~120k, so as this speed it will take about 80 days for it to complete... Anything I can do to speed this up?

@melpomene commented on GitHub (Aug 20, 2025): @alextran1502 Great! Turned it on and now my Photos tab has a much more complete view of the photos on my phone! The actual syncing to the server doesn't seem to have started yet. Is my assumption that it needs to complete hashing all the assets before it starts syncing again? It has been about 12h since I turned it on but it it is still just on 750 assets out of ~120k, so as this speed it will take about 80 days for it to complete... Anything I can do to speed this up?
Author
Owner

@alextran1502 commented on GitHub (Aug 20, 2025):

@melpomene can you share the screenshot of the Beta Sync Stats? Are you on Wifi when you sync? Did you put the app into the background?

@alextran1502 commented on GitHub (Aug 20, 2025): @melpomene can you share the screenshot of the Beta Sync Stats? Are you on Wifi when you sync? Did you put the app into the background?
Author
Owner

@melpomene commented on GitHub (Aug 20, 2025):

@alextran1502 image

Yes wifi.

Well not actively but the screen locks eventually so assume it goes into the background?

@melpomene commented on GitHub (Aug 20, 2025): @alextran1502 ![image](https://github.com/user-attachments/assets/1282babc-5fb1-4600-b11a-5714369e4283) Yes wifi. Well not actively but the screen locks eventually so assume it goes into the background?
Author
Owner

@alextran1502 commented on GitHub (Aug 20, 2025):

@melpomene I see that you have a pretty big iCloud library, the new upload mechanism will only upload assets that are hashed. If you can leave the app on the foreground, the hashing progress will go through much quicker. I am still trying to workout a better experience for iCloud users with large library like yours

@alextran1502 commented on GitHub (Aug 20, 2025): @melpomene I see that you have a pretty big iCloud library, the new upload mechanism will only upload assets that are hashed. If you can leave the app on the foreground, the hashing progress will go through much quicker. I am still trying to workout a better experience for iCloud users with large library like yours
Author
Owner

@melpomene commented on GitHub (Aug 20, 2025):

Understood. Is it possible to have it keep the screen on/in the foreground when I put the phone down?

Does it matter which page I am showing in the immich app or will it go quicker and continue it's work at same speed no matter which page I have displayed? (Edit: noticed I could turn off the screen auto lock in the iOS settings completely).

@melpomene commented on GitHub (Aug 20, 2025): Understood. Is it possible to have it keep the screen on/in the foreground when I put the phone down? Does it matter which page I am showing in the immich app or will it go quicker and continue it's work at same speed no matter which page I have displayed? (Edit: noticed I could turn off the screen auto lock in the iOS settings completely).
Author
Owner

@dagstuan commented on GitHub (Aug 20, 2025):

@alextran1502 I did notice the hashing process is significantly slower on older hardware. My partner's iPhone X took a good long while (multiple hours) to hash around 10k assets, while my iPhone 15 only took a few minutes for the same amount of assets. I don't know if this could be improved somehow, but it's worth thinking about for future work.

The difference was big enough for me to suspect that the hashing is done on hardware with newer devices, while the old ones use the CPU.

@dagstuan commented on GitHub (Aug 20, 2025): @alextran1502 I did notice the hashing process is significantly slower on older hardware. My partner's iPhone X took a good long while (multiple hours) to hash around 10k assets, while my iPhone 15 only took a few minutes for the same amount of assets. I don't know if this could be improved somehow, but it's worth thinking about for future work. The difference was big enough for me to suspect that the hashing is done on hardware with newer devices, while the old ones use the CPU.
Author
Owner

@melpomene commented on GitHub (Aug 20, 2025):

I am on a iPhone 13 Pro, with slow hashing, if that is helpful.

@melpomene commented on GitHub (Aug 20, 2025): I am on a iPhone 13 Pro, with slow hashing, if that is helpful.
Author
Owner

@alextran1502 commented on GitHub (Aug 20, 2025):

The slowness here is not impacted heavily by the hardware, I think it is more of if you are using iCloud or not, to hash an asset, the app needs to have the file locally, meaning download the file from iCloud to the device to hash. If your phone have those assets locally, it takes like 3 minutes to hash 10,000 assets

@alextran1502 commented on GitHub (Aug 20, 2025): The slowness here is not impacted heavily by the hardware, I think it is more of if you are using iCloud or not, to hash an asset, the app needs to have the file locally, meaning download the file from iCloud to the device to hash. If your phone have those assets locally, it takes like 3 minutes to hash 10,000 assets
Author
Owner

@Chuckame commented on GitHub (Aug 20, 2025):

Just for curiosity, I just switched to the beta time-line, and I had absolutely no hash job at all, already showing all my assets as hashed. Why many people complain about this slow hashing? FYI I have 15k assets locally.

Btw the app is not freezing anymore. However, I can still notice some freezes approximately every 2s at start during backup. (still much less freezy than before).

@Chuckame commented on GitHub (Aug 20, 2025): Just for curiosity, I just switched to the beta time-line, and I had absolutely no hash job at all, already showing all my assets as hashed. Why many people complain about this slow hashing? FYI I have 15k assets locally. Btw the app is not freezing anymore. However, I can still notice some freezes approximately every 2s at start during backup. (still much less freezy than before).
Author
Owner

@alextran1502 commented on GitHub (Aug 20, 2025):

@Chuckame it copied the hash from the non-beta timeline over if the assets are hashed there. Also if you don't use iCloud, the experience is much better.

@alextran1502 commented on GitHub (Aug 20, 2025): @Chuckame it copied the hash from the non-beta timeline over if the assets are hashed there. Also if you don't use iCloud, the experience is much better.
Author
Owner

@Chuckame commented on GitHub (Aug 24, 2025):

FYI, since the last release 1.139.2, the feels completely native, no freeze, it's highly fluent. Amazing job guys!!

@Chuckame commented on GitHub (Aug 24, 2025): FYI, since the last release 1.139.2, the feels completely native, no freeze, it's highly fluent. Amazing job guys!!
Author
Owner

@s-martin commented on GitHub (Aug 24, 2025):

FYI, since the last release 1.139.2, the feels completely native, no freeze, it's highly fluent. Amazing job guys!!

Same here! 🎉

@s-martin commented on GitHub (Aug 24, 2025): > FYI, since the last release 1.139.2, the feels completely native, no freeze, it's highly fluent. Amazing job guys!! Same here! 🎉
Author
Owner

@ManiacDC commented on GitHub (Aug 26, 2025):

Every time I open the Immich app with the beta timeline, which is normally after a day or two, it takes a really long time to sync. The hashing takes several seconds, then the remote sync can take 30-100 seconds. I mainly use external libraries, and I've been organizing them, so data is sometimes shuffled around between app launches (maybe a few hundred or up to 1000 pictures). If this is how long it's going to take on a frequent basis, more progress indication needs to be added. From the user perspective, the syncing process is just stuck...

My server isn't lightning fast, but it's on decently robust hardware (10 year old dual xeon server). I'm not using SSDs, but the web UI is very smooth. Loading is never an issue there.

(Just updated the server to v1.139.3 before testing and posting this, and the app versions in question are v1.139.2 (my Pixel 9) and v1.139.4 (my wife's S23).

@ManiacDC commented on GitHub (Aug 26, 2025): Every time I open the Immich app with the beta timeline, which is normally after a day or two, it takes a really long time to sync. The hashing takes several seconds, then the remote sync can take 30-100 seconds. I mainly use external libraries, and I've been organizing them, so data is sometimes shuffled around between app launches (maybe a few hundred or up to 1000 pictures). If this is how long it's going to take on a frequent basis, more progress indication needs to be added. From the user perspective, the syncing process is just stuck... My server isn't lightning fast, but it's on decently robust hardware (10 year old dual xeon server). I'm not using SSDs, but the web UI is very smooth. Loading is never an issue there. (Just updated the server to v1.139.3 before testing and posting this, and the app versions in question are v1.139.2 (my Pixel 9) and v1.139.4 (my wife's S23).
Author
Owner

@alextran1502 commented on GitHub (Aug 26, 2025):

@ManiacDC Can you post the mobile app log? it would show how much time it takes for local and remote sync?

@alextran1502 commented on GitHub (Aug 26, 2025): @ManiacDC Can you post the mobile app log? it would show how much time it takes for local and remote sync?
Author
Owner

@ManiacDC commented on GitHub (Aug 26, 2025):

@alextran1502 These are from my wife's S23. She synced yesterday, this was the first sync today. Took 250seconds. Followup syncs took 1-3 seconds, as you can see. (BTW temporarily had troubleshooting and finer logging on to see if it would give more info).

Image
Image
Image

This was my first sync of the day. Took over 30 seconds.

Image
@ManiacDC commented on GitHub (Aug 26, 2025): @alextran1502 These are from my wife's S23. She synced yesterday, this was the first sync today. Took 250seconds. Followup syncs took 1-3 seconds, as you can see. (BTW temporarily had troubleshooting and finer logging on to see if it would give more info). ![Image](https://github.com/user-attachments/assets/4bb41e18-2f17-4062-ad49-408af24fbdbb) ![Image](https://github.com/user-attachments/assets/82c00b84-a18a-4276-9b23-597286f5d7eb) ![Image](https://github.com/user-attachments/assets/e439e152-9c40-4f25-85fb-b292b3a94b69) This was my first sync of the day. Took over 30 seconds. <img width="1080" height="2424" alt="Image" src="https://github.com/user-attachments/assets/e2e7b9a6-b13b-4bc6-ab87-b10de31d39b6" />
Author
Owner

@ManiacDC commented on GitHub (Aug 26, 2025):

Also, I figured I'd post this. I think this is from swapping back to the original timeline, then to the beta again... and I had cleared my cache at some point to try to figure out what was going on. So I think this screenshot is an initial hash/sync. Took 170s to hash and 99s to sync.

Image
@ManiacDC commented on GitHub (Aug 26, 2025): Also, I figured I'd post this. I *think* this is from swapping back to the original timeline, then to the beta again... and I had cleared my cache at some point to try to figure out what was going on. So I *think* this screenshot is an initial hash/sync. Took 170s to hash and 99s to sync. <img width="1080" height="2424" alt="Image" src="https://github.com/user-attachments/assets/e79db6e9-43c6-488c-a515-2a423cbed418" />
Author
Owner

@alextran1502 commented on GitHub (Aug 27, 2025):

@ManiacDC I think it depends on the size of the library and how many items you reorganize; the sync can take more time based on those conditions. The remote sync should display a circular spinning icon on the top bar to indicate that the process is running. Once the spinner disappears, it means that the sync is complete.

Do you have the Postgres database on an HDD or SSD?

@alextran1502 commented on GitHub (Aug 27, 2025): @ManiacDC I think it depends on the size of the library and how many items you reorganize; the sync can take more time based on those conditions. The remote sync should display a circular spinning icon on the top bar to indicate that the process is running. Once the spinner disappears, it means that the sync is complete. Do you have the Postgres database on an HDD or SSD?
Author
Owner

@ManiacDC commented on GitHub (Aug 27, 2025):

@alextran1502 I will have to learn to trust the spinner, I guess. As a user of other apps, I've seen those spinners go forever when things are really stuck, so I've grown to not trust them. If the remote server sent updates to the client as to the sync status, I think that would help the user experience a lot.

Another thing that may help is if newly added files (especially those at the top of the timeline) are sent to the client as soon as they are available. This way the user will see changes immediately, instead of waiting 30+ seconds for the whole sync to finish.

I have the database on spinning disks in raidz (TrueNAS), so throughput is high, but I/O probably isn't great. No option to have it on an SSD right now.

@ManiacDC commented on GitHub (Aug 27, 2025): @alextran1502 I will have to learn to trust the spinner, I guess. As a user of other apps, I've seen those spinners go forever when things are really stuck, so I've grown to not trust them. If the remote server sent updates to the client as to the sync status, I think that would help the user experience a lot. Another thing that may help is if newly added files (especially those at the top of the timeline) are sent to the client as soon as they are available. This way the user will see changes immediately, instead of waiting 30+ seconds for the whole sync to finish. I have the database on spinning disks in raidz (TrueNAS), so throughput is high, but I/O probably isn't great. No option to have it on an SSD right now.
Author
Owner

@alextran1502 commented on GitHub (Aug 28, 2025):

Closing this issue as the tech debt has been addressed with the beta timeline. Other bugs should be coming in as individual issues for ease of tracking.

@alextran1502 commented on GitHub (Aug 28, 2025): Closing this issue as the tech debt has been addressed with the beta timeline. Other bugs should be coming in as individual issues for ease of tracking.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/immich#5851
No description provided.