Skip to content

Commit

Permalink
fix: remove crlcheckWorker and featureWorker from running in userSess…
Browse files Browse the repository at this point in the history
…ion (WPB-7213) (#2672) (#2682)

* fix: run crlCheckWorker and FeatureFlagsSyncWorker on every app launch

* chore: detekt

* chore: detekt

Co-authored-by: Oussama Hassine <oussama.has100@gmail.com>
  • Loading branch information
github-actions[bot] and ohassine authored Mar 25, 2024
1 parent f32ce53 commit 99c099c
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -211,13 +211,9 @@ import com.wire.kalium.logic.feature.conversation.mls.OneOnOneResolverImpl
import com.wire.kalium.logic.feature.debug.DebugScope
import com.wire.kalium.logic.feature.e2ei.ACMECertificatesSyncWorker
import com.wire.kalium.logic.feature.e2ei.ACMECertificatesSyncWorkerImpl
import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorker
import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorkerImpl
import com.wire.kalium.logic.feature.e2ei.CheckCrlRevocationListUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.CheckRevocationListUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.CheckRevocationListUseCaseImpl
import com.wire.kalium.logic.feature.featureConfig.FeatureFlagSyncWorkerImpl
import com.wire.kalium.logic.feature.featureConfig.FeatureFlagsSyncWorker
import com.wire.kalium.logic.feature.featureConfig.SyncFeatureConfigsUseCase
import com.wire.kalium.logic.feature.featureConfig.SyncFeatureConfigsUseCaseImpl
import com.wire.kalium.logic.feature.featureConfig.handler.AppLockConfigHandler
Expand Down Expand Up @@ -1596,23 +1592,6 @@ class UserSessionScope internal constructor(
)
}

private val certificateRevocationListCheckWorker: CertificateRevocationListCheckWorker by lazy {
CertificateRevocationListCheckWorkerImpl(
certificateRevocationListRepository = certificateRevocationListRepository,
incrementalSyncRepository = incrementalSyncRepository,
checkRevocationList = checkRevocationList,
kaliumLogger = userScopedLogger,
)
}

private val featureFlagsSyncWorker: FeatureFlagsSyncWorker by lazy {
FeatureFlagSyncWorkerImpl(
incrementalSyncRepository = incrementalSyncRepository,
syncFeatureConfigs = syncFeatureConfigsUseCase,
kaliumLogger = userScopedLogger,
)
}

private val keyPackageRepository: KeyPackageRepository
get() = KeyPackageDataSource(
clientIdProvider, authenticatedNetworkContainer.keyPackageApi, mlsClientProvider, userId
Expand Down Expand Up @@ -1784,12 +1763,9 @@ class UserSessionScope internal constructor(
userRepository,
userConfigRepository,
accountRepository,
searchUserRepository,
syncManager,
assetRepository,
teamRepository,
connectionRepository,
qualifiedIdMapper,
globalScope.sessionRepository,
authenticationScope.serverConfigRepository,
userId,
Expand All @@ -1805,6 +1781,10 @@ class UserSessionScope internal constructor(
joinExistingMLSConversations,
refreshUsersWithoutMetadata,
isE2EIEnabled,
certificateRevocationListRepository,
incrementalSyncRepository,
checkRevocationList,
syncFeatureConfigsUseCase,
userScopedLogger
)

Expand Down Expand Up @@ -2053,10 +2033,6 @@ class UserSessionScope internal constructor(
proteusSyncWorker.execute()
}

launch {
certificateRevocationListCheckWorker.execute()
}

launch {
avsSyncStateReporter.execute()
}
Expand All @@ -2069,20 +2045,13 @@ class UserSessionScope internal constructor(
typingIndicatorSyncManager.execute()
}

launch {
featureFlagsSyncWorker.execute()
}

launch {
acmeCertificatesSyncWorker.execute()
}

launch {
updateSelfClientCapabilityToLegalHoldConsent()
}
launch {
users.observeCertificateRevocationForSelfClient()
}
}

fun onDestroy() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import kotlinx.datetime.Clock
* This worker will wait until the sync is done and then check the CRLs if needed.
*
*/
internal interface CertificateRevocationListCheckWorker {
interface CertificateRevocationListCheckWorker {
suspend fun execute()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import kotlin.time.Duration.Companion.minutes
/**
* Worker that periodically syncs feature flags.
*/
internal interface FeatureFlagsSyncWorker {
interface FeatureFlagsSyncWorker {
suspend fun execute()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,14 @@ import com.wire.kalium.logic.configuration.UserConfigRepository
import com.wire.kalium.logic.configuration.server.ServerConfigRepository
import com.wire.kalium.logic.data.asset.AssetRepository
import com.wire.kalium.logic.data.client.ClientRepository
import com.wire.kalium.logic.data.connection.ConnectionRepository
import com.wire.kalium.logic.data.conversation.JoinExistingMLSConversationsUseCase
import com.wire.kalium.logic.data.conversation.MLSConversationRepository
import com.wire.kalium.logic.data.e2ei.CertificateRevocationListRepository
import com.wire.kalium.logic.data.e2ei.E2EIRepository
import com.wire.kalium.logic.data.id.CurrentClientIdProvider
import com.wire.kalium.logic.data.id.QualifiedIdMapper
import com.wire.kalium.logic.data.properties.UserPropertyRepository
import com.wire.kalium.logic.data.publicuser.SearchUserRepository
import com.wire.kalium.logic.data.session.SessionRepository
import com.wire.kalium.logic.data.sync.IncrementalSyncRepository
import com.wire.kalium.logic.data.team.TeamRepository
import com.wire.kalium.logic.data.user.AccountRepository
import com.wire.kalium.logic.data.user.UserId
Expand All @@ -49,7 +48,10 @@ import com.wire.kalium.logic.feature.auth.ValidateUserHandleUseCaseImpl
import com.wire.kalium.logic.feature.client.FinalizeMLSClientAfterE2EIEnrollment
import com.wire.kalium.logic.feature.client.FinalizeMLSClientAfterE2EIEnrollmentImpl
import com.wire.kalium.logic.feature.conversation.GetAllContactsNotInConversationUseCase
import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorker
import com.wire.kalium.logic.feature.e2ei.CertificateRevocationListCheckWorkerImpl
import com.wire.kalium.logic.feature.e2ei.CertificateStatusMapperImpl
import com.wire.kalium.logic.feature.e2ei.usecase.CheckRevocationListUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.EnrollE2EIUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.EnrollE2EIUseCaseImpl
import com.wire.kalium.logic.feature.e2ei.usecase.GetE2eiCertificateUseCase
Expand All @@ -62,6 +64,9 @@ import com.wire.kalium.logic.feature.e2ei.usecase.GetUserE2eiCertificatesUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.GetUserE2eiCertificatesUseCaseImpl
import com.wire.kalium.logic.feature.e2ei.usecase.ObserveCertificateRevocationForSelfClientUseCase
import com.wire.kalium.logic.feature.e2ei.usecase.ObserveCertificateRevocationForSelfClientUseCaseImpl
import com.wire.kalium.logic.feature.featureConfig.FeatureFlagSyncWorkerImpl
import com.wire.kalium.logic.feature.featureConfig.FeatureFlagsSyncWorker
import com.wire.kalium.logic.feature.featureConfig.SyncFeatureConfigsUseCase
import com.wire.kalium.logic.feature.message.MessageSender
import com.wire.kalium.logic.feature.publicuser.GetAllContactsUseCase
import com.wire.kalium.logic.feature.publicuser.GetAllContactsUseCaseImpl
Expand All @@ -84,12 +89,9 @@ class UserScope internal constructor(
private val userRepository: UserRepository,
private val userConfigRepository: UserConfigRepository,
private val accountRepository: AccountRepository,
private val searchUserRepository: SearchUserRepository,
private val syncManager: SyncManager,
private val assetRepository: AssetRepository,
private val teamRepository: TeamRepository,
private val connectionRepository: ConnectionRepository,
private val qualifiedIdMapper: QualifiedIdMapper,
private val sessionRepository: SessionRepository,
private val serverConfigRepository: ServerConfigRepository,
private val selfUserId: UserId,
Expand All @@ -105,7 +107,11 @@ class UserScope internal constructor(
private val joinExistingMLSConversationsUseCase: JoinExistingMLSConversationsUseCase,
val refreshUsersWithoutMetadata: RefreshUsersWithoutMetadataUseCase,
private val isE2EIEnabledUseCase: IsE2EIEnabledUseCase,
private val userScoppedLogger: KaliumLogger
private val certificateRevocationListRepository: CertificateRevocationListRepository,
private val incrementalSyncRepository: IncrementalSyncRepository,
private val checkRevocationList: CheckRevocationListUseCase,
private val syncFeatureConfigs: SyncFeatureConfigsUseCase,
private val userScopedLogger: KaliumLogger
) {
private val validateUserHandleUseCase: ValidateUserHandleUseCase get() = ValidateUserHandleUseCaseImpl()
val getSelfUser: GetSelfUserUseCase get() = GetSelfUserUseCaseImpl(userRepository)
Expand Down Expand Up @@ -202,6 +208,23 @@ class UserScope internal constructor(
userConfigRepository = userConfigRepository,
currentClientIdProvider = clientIdProvider,
getE2eiCertificate = getE2EICertificate,
kaliumLogger = userScoppedLogger,
kaliumLogger = userScopedLogger,
)

val certificateRevocationListCheckWorker: CertificateRevocationListCheckWorker by lazy {
CertificateRevocationListCheckWorkerImpl(
certificateRevocationListRepository = certificateRevocationListRepository,
incrementalSyncRepository = incrementalSyncRepository,
checkRevocationList = checkRevocationList,
kaliumLogger = userScopedLogger,
)
}

val featureFlagsSyncWorker: FeatureFlagsSyncWorker by lazy {
FeatureFlagSyncWorkerImpl(
incrementalSyncRepository = incrementalSyncRepository,
syncFeatureConfigs = syncFeatureConfigs,
kaliumLogger = userScopedLogger,
)
}
}

0 comments on commit 99c099c

Please sign in to comment.