Re-enable SyncService.withEncryptionSync to improve decryption of notifications (#1199)

* Re-enable `SyncService.withEncryptionSync` to improve decryption of notifications.

* Add feature flag
This commit is contained in:
Jorge Martin Espinosa 2023-08-31 13:37:20 +02:00 committed by GitHub
parent 47a0ecb3b8
commit 199f578e4a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 30 additions and 4 deletions

View file

@ -19,6 +19,8 @@ package io.element.android.libraries.matrix.impl
import android.content.Context
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
import io.element.android.libraries.di.ApplicationContext
import io.element.android.libraries.featureflag.api.FeatureFlagService
import io.element.android.libraries.featureflag.api.FeatureFlags
import io.element.android.libraries.network.useragent.UserAgentProvider
import io.element.android.libraries.sessionstorage.api.SessionData
import io.element.android.libraries.sessionstorage.api.SessionStore
@ -39,6 +41,7 @@ class RustMatrixClientFactory @Inject constructor(
private val sessionStore: SessionStore,
private val userAgentProvider: UserAgentProvider,
private val clock: SystemClock,
private val featureFlagsService: FeatureFlagService,
) {
suspend fun create(sessionData: SessionData): RustMatrixClient = withContext(coroutineDispatchers.io) {
@ -53,7 +56,12 @@ class RustMatrixClientFactory @Inject constructor(
client.restoreSession(sessionData.toSession())
val syncService = client.syncService().finish()
val syncService = client.syncService().apply {
if (featureFlagsService.isFeatureEnabled(FeatureFlags.UseEncryptionSync)) {
withEncryptionSync(withCrossProcessLock = false, appIdentifier = null)
}
}
.finish()
RustMatrixClient(
client = client,