From bec0f2360252a6b12878242fb1f705886a5ae412 Mon Sep 17 00:00:00 2001 From: Oussama Date: Tue, 11 Jul 2023 14:34:53 +0100 Subject: [PATCH 1/2] chore: add logs for reset session --- .../logic/feature/debug/BreakSessionUseCase.kt | 3 +++ .../feature/sessionreset/ResetSessionUseCase.kt | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt index b639425839c..34bc9a368a5 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt @@ -26,6 +26,7 @@ import com.wire.kalium.logic.data.user.UserId import com.wire.kalium.logic.di.MapperProvider import com.wire.kalium.logic.feature.ProteusClientProvider import com.wire.kalium.logic.functional.fold +import com.wire.kalium.logic.kaliumLogger import com.wire.kalium.util.KaliumDispatcher import com.wire.kalium.util.KaliumDispatcherImpl import kotlinx.coroutines.withContext @@ -56,6 +57,7 @@ internal class BreakSessionUseCaseImpl internal constructor( clientId: ClientId ): BreakSessionResult = withContext(dispatchers.io) { return@withContext proteusClientProvider.getOrError().fold({ + kaliumLogger.e("Failed to get proteus client for break session $it") return@fold BreakSessionResult.Failure(it) }, { proteusClient -> val cryptoUserID = idMapper.toCryptoQualifiedIDId(userId) @@ -65,6 +67,7 @@ internal class BreakSessionUseCaseImpl internal constructor( ) // create a new session with the same session id proteusClient.createSession(proteusClient.newLastPreKey(), cryptoSessionId) + kaliumLogger.e("Created new session for ${userId.toLogString()} with ${clientId.value}") return@fold BreakSessionResult.Success }) } diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/sessionreset/ResetSessionUseCase.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/sessionreset/ResetSessionUseCase.kt index df38db5ebb7..3ad3ba43324 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/sessionreset/ResetSessionUseCase.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/sessionreset/ResetSessionUseCase.kt @@ -31,6 +31,7 @@ import com.wire.kalium.logic.feature.ProteusClientProvider import com.wire.kalium.logic.feature.message.SessionResetSender import com.wire.kalium.logic.functional.flatMap import com.wire.kalium.logic.functional.fold +import com.wire.kalium.logic.kaliumLogger import com.wire.kalium.util.KaliumDispatcher import com.wire.kalium.util.KaliumDispatcherImpl import kotlinx.coroutines.withContext @@ -41,6 +42,7 @@ import kotlinx.coroutines.withContext interface ResetSessionUseCase { suspend operator fun invoke(conversationId: ConversationId, userId: UserId, clientId: ClientId): ResetSessionResult } + internal class ResetSessionUseCaseImpl internal constructor( private val proteusClientProvider: ProteusClientProvider, private val sessionResetSender: SessionResetSender, @@ -54,6 +56,7 @@ internal class ResetSessionUseCaseImpl internal constructor( clientId: ClientId ): ResetSessionResult = withContext(dispatchers.io) { return@withContext proteusClientProvider.getOrError().fold({ + kaliumLogger.e("Failed to get proteus client for session reset $it") return@fold ResetSessionResult.Failure(it) }, { proteusClient -> val cryptoUserID = idMapper.toCryptoQualifiedIDId(userId) @@ -68,14 +71,21 @@ internal class ResetSessionUseCaseImpl internal constructor( userId = userId, clientId = clientId ).flatMap { + kaliumLogger.e("Successfully sent session reset message") messageRepository.markMessagesAsDecryptionResolved( conversationId, userId, clientId ) }.fold( - { ResetSessionResult.Failure(it) }, - { ResetSessionResult.Success } + { + kaliumLogger.e("Failed to mark decryption error as resolved") + ResetSessionResult.Failure(it) + }, + { + kaliumLogger.e("Successfully marked decryption error as resolved") + ResetSessionResult.Success + } ) }) From 0e7c9b49a21072cda2ec1ebb64675580759eca08 Mon Sep 17 00:00:00 2001 From: Oussama Date: Tue, 11 Jul 2023 15:13:34 +0100 Subject: [PATCH 2/2] chore: obfuscate id --- .../com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt index 34bc9a368a5..9db60905169 100644 --- a/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt +++ b/logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/debug/BreakSessionUseCase.kt @@ -19,6 +19,7 @@ package com.wire.kalium.logic.feature.debug import com.wire.kalium.cryptography.CryptoClientId import com.wire.kalium.cryptography.CryptoSessionId +import com.wire.kalium.logger.obfuscateId import com.wire.kalium.logic.CoreFailure import com.wire.kalium.logic.data.conversation.ClientId import com.wire.kalium.logic.data.id.IdMapper @@ -67,7 +68,7 @@ internal class BreakSessionUseCaseImpl internal constructor( ) // create a new session with the same session id proteusClient.createSession(proteusClient.newLastPreKey(), cryptoSessionId) - kaliumLogger.e("Created new session for ${userId.toLogString()} with ${clientId.value}") + kaliumLogger.e("Created new session for ${userId.toLogString()} with ${clientId.value.obfuscateId()}") return@fold BreakSessionResult.Success }) }