You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When accounts_background_fetch was introduced, it was intended for iOS which does not run the application in background most of the time anyway, so when push notification arrives, there is no existing connection most of the time.
With Android it depends on the phone. If it does not kill the application most of the time, it is unnecessary to kill existing connections as done here:
let _pause_guard = self.scheduler.pause(self.clone()).await?;
As Android is going to start using background_fetch, it should be modified to better support the case when I/O is already started: deltachat/deltachat-android#3312
Background fetch should probably be moved to the scheduler. If I/O is currently stopped, run background fetch on a separate connection as we do now, but if I/O is already started, interrupt the inbox loop and wait for it to finish one cycle, then interrupt mvbox loop and wait for it to finish one cycle.
The text was updated successfully, but these errors were encountered:
I tested on the phone with FCM services. Establishing a new connection is not a big problem, but status bar on Android shows "Not connected" and then "Connecting..." for a moment every time a notification arrives. This connectivity status change should definitely not happen.
When
accounts_background_fetch
was introduced, it was intended for iOS which does not run the application in background most of the time anyway, so when push notification arrives, there is no existing connection most of the time.With Android it depends on the phone. If it does not kill the application most of the time, it is unnecessary to kill existing connections as done here:
deltachat-core-rust/src/context.rs
Line 529 in 486ea3a
As Android is going to start using
background_fetch
, it should be modified to better support the case when I/O is already started: deltachat/deltachat-android#3312Background fetch should probably be moved to the scheduler. If I/O is currently stopped, run background fetch on a separate connection as we do now, but if I/O is already started, interrupt the inbox loop and wait for it to finish one cycle, then interrupt mvbox loop and wait for it to finish one cycle.
The text was updated successfully, but these errors were encountered: