Revert "Attempt to prevent crashes after expiring background refreshes."
This reverts commit 418daaa90fd9ed6a9fbcdd9d03ee4cde7888c3cd.
This commit is contained in:
committed by
Stefan Ceriu
parent
b6e5fe7015
commit
ee9bfdd5a0
@@ -893,11 +893,8 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
|
||||
// Attempt to stop the background task sync loop cleanly, only if the app not already running
|
||||
return
|
||||
}
|
||||
|
||||
MainActor.assumeIsolated {
|
||||
userSession?.clientProxy.stopSync(completion: completion)
|
||||
clientProxyObserver = nil
|
||||
}
|
||||
userSession?.clientProxy.stopSync(completion: completion)
|
||||
clientProxyObserver = nil
|
||||
}
|
||||
|
||||
private func startSync() {
|
||||
@@ -1039,13 +1036,7 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
|
||||
// This is important for the app to keep refreshing in the background
|
||||
scheduleBackgroundAppRefresh()
|
||||
|
||||
/// We have a lot of crashes stemming here which we previously believed are caused by stopSync not being async
|
||||
/// on the client proxy side (see the comment on that method). We have now realised that will likely not fix anything but
|
||||
/// we also noticed this does not crash on the main thread, even though the whole AppCoordinator is on the Main actor.
|
||||
/// As such, we introduced a MainActor conformance on the expirationHandler but we are also assuming main actor
|
||||
/// isolated in the `stopSync` method above.
|
||||
/// https://sentry.tools.element.io/organizations/element/issues/4477794/
|
||||
task.expirationHandler = { @MainActor [weak self] in
|
||||
task.expirationHandler = { [weak self] in
|
||||
MXLog.info("Background app refresh task is about to expire.")
|
||||
|
||||
self?.stopSync(isBackgroundTask: true) {
|
||||
|
||||
Reference in New Issue
Block a user