Merge pull request #3538 from vector-im/feature/fga/fix_signout

Fix crash on signout: release session at the end of clean up
This commit is contained in:
Benoit Marty 2021-06-21 14:11:10 +02:00 committed by GitHub
commit 434018074d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

1
changelog.d/3538.bugfix Normal file
View file

@ -0,0 +1 @@
Fix crash on signout: release session at the end of clean up.

View file

@ -51,15 +51,12 @@ internal class CleanupSession @Inject constructor(
@UserMd5 private val userMd5: String @UserMd5 private val userMd5: String
) { ) {
suspend fun handle() { suspend fun handle() {
Timber.d("Cleanup: release session...") Timber.d("Cleanup: delete session params...")
sessionManager.releaseSession(sessionId) sessionParamsStore.delete(sessionId)
Timber.d("Cleanup: cancel pending works...") Timber.d("Cleanup: cancel pending works...")
workManagerProvider.cancelAllWorks() workManagerProvider.cancelAllWorks()
Timber.d("Cleanup: delete session params...")
sessionParamsStore.delete(sessionId)
Timber.d("Cleanup: clear session data...") Timber.d("Cleanup: clear session data...")
clearSessionDataTask.execute(Unit) clearSessionDataTask.execute(Unit)
@ -74,6 +71,9 @@ internal class CleanupSession @Inject constructor(
realmKeysUtils.clear(SessionModule.getKeyAlias(userMd5)) realmKeysUtils.clear(SessionModule.getKeyAlias(userMd5))
realmKeysUtils.clear(CryptoModule.getKeyAlias(userMd5)) realmKeysUtils.clear(CryptoModule.getKeyAlias(userMd5))
Timber.d("Cleanup: release session...")
sessionManager.releaseSession(sessionId)
// Sanity check // Sanity check
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
Realm.getGlobalInstanceCount(realmSessionConfiguration) Realm.getGlobalInstanceCount(realmSessionConfiguration)