mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 12:07:55 +00:00
Replace detached tasks with Task.dispatch(on:) (#201)
* Use Task.detach(on:) everywhere that was blocking.
* Don't wrap the continuations in a Task 🤦♂️
* Add sendable requirement to closure.
This commit is contained in:
@@ -93,16 +93,14 @@ class UserSessionStore: UserSessionStoreProtocol {
|
||||
.basePath(path: baseDirectoryPath)
|
||||
.username(username: credentials.userID)
|
||||
|
||||
let loginTask: Task<Client, Error> = Task.detached {
|
||||
let client = try builder.build()
|
||||
try client.restoreLogin(restoreToken: credentials.restoreToken)
|
||||
return client
|
||||
}
|
||||
|
||||
switch await loginTask.result {
|
||||
case .success(let client):
|
||||
do {
|
||||
let client: Client = try await Task.dispatch(on: .global()) {
|
||||
let client = try builder.build()
|
||||
try client.restoreLogin(restoreToken: credentials.restoreToken)
|
||||
return client
|
||||
}
|
||||
return await setupProxyForClient(client)
|
||||
case .failure(let error):
|
||||
} catch {
|
||||
MXLog.error("Failed restoring login with error: \(error)")
|
||||
return .failure(.failedRestoringLogin)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user