Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: remove crlcheckWorker and featureWorker from running in userSession (WPB-7213) #2682

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,
)
}
}
Loading