Skip to content

Commit 46cc050

Browse files
authored
fix: MLS account not being deleted when logging out - WPB-15774 (#2572)
1 parent 6d22faf commit 46cc050

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

wire-ios-sync-engine/Source/SessionManager/SessionManager.swift

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -889,17 +889,15 @@ public final class SessionManager: NSObject, SessionManagerType {
889889

890890
requireInternal(activeUserSession.userId == account.userIdentifier, "User session and account are different")
891891

892-
delegate?.sessionManagerWillLogout(error: error, userSessionCanBeTornDown: { [dispatchGroup] in
893-
dispatchGroup.enter()
894-
892+
delegate?.sessionManagerWillLogout(error: error) { [weak self] in
895893
activeUserSession.close(deleteCookie: deleteCookie) {
896894
if deleteAccount {
897-
self.deleteAccountData(for: account)
895+
self?.deleteAccountData(for: account)
898896
}
899-
dispatchGroup.leave()
900897
}
901-
self.activeUserSession = nil
902-
})
898+
899+
self?.activeUserSession = nil
900+
}
903901
}
904902

905903
/// Loads a session for a given account

wire-ios-sync-engine/Source/UserSession/ZMUserSession/ZMUserSession+Authentication.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,11 @@ extension ZMUserSession {
7777
deleteUserKeychainItems()
7878
}
7979

80-
syncManagedObjectContext.dispatchGroup?.notify(on: .main) {
80+
syncManagedObjectContext.perform {
8181
self.tearDown()
82-
completion()
8382
}
83+
84+
completion()
8485
}
8586

8687
public func logout(credentials: UserEmailCredentials, _ completion: @escaping (Result<Void, Error>) -> Void) {

0 commit comments

Comments
 (0)