Add the user certificate if any when creating Matrix Client.
This commit is contained in:
parent
bd14e74080
commit
e9cab238be
2 changed files with 5 additions and 1 deletions
|
|
@ -13,17 +13,20 @@ import dev.zacsweers.metro.Inject
|
||||||
import io.element.android.libraries.core.extensions.runCatchingExceptions
|
import io.element.android.libraries.core.extensions.runCatchingExceptions
|
||||||
import io.element.android.libraries.matrix.api.auth.HomeServerLoginCompatibilityChecker
|
import io.element.android.libraries.matrix.api.auth.HomeServerLoginCompatibilityChecker
|
||||||
import io.element.android.libraries.matrix.impl.ClientBuilderProvider
|
import io.element.android.libraries.matrix.impl.ClientBuilderProvider
|
||||||
|
import io.element.android.libraries.matrix.impl.certificates.UserCertificatesProvider
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
@ContributesBinding(AppScope::class)
|
@ContributesBinding(AppScope::class)
|
||||||
@Inject
|
@Inject
|
||||||
class RustHomeServerLoginCompatibilityChecker(
|
class RustHomeServerLoginCompatibilityChecker(
|
||||||
private val clientBuilderProvider: ClientBuilderProvider,
|
private val clientBuilderProvider: ClientBuilderProvider,
|
||||||
|
private val userCertificatesProvider: UserCertificatesProvider,
|
||||||
) : HomeServerLoginCompatibilityChecker {
|
) : HomeServerLoginCompatibilityChecker {
|
||||||
override suspend fun check(url: String): Result<Boolean> = runCatchingExceptions {
|
override suspend fun check(url: String): Result<Boolean> = runCatchingExceptions {
|
||||||
clientBuilderProvider.provide()
|
clientBuilderProvider.provide()
|
||||||
.inMemoryStore()
|
.inMemoryStore()
|
||||||
.serverNameOrHomeserverUrl(url)
|
.serverNameOrHomeserverUrl(url)
|
||||||
|
.addRootCertificates(userCertificatesProvider.provides())
|
||||||
.build()
|
.build()
|
||||||
.use {
|
.use {
|
||||||
it.homeserverLoginDetails()
|
it.homeserverLoginDetails()
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ class RustHomeserverLoginCompatibilityCheckerTest {
|
||||||
FakeFfiClientBuilder {
|
FakeFfiClientBuilder {
|
||||||
FakeFfiClient(homeserverLoginDetailsResult = result)
|
FakeFfiClient(homeserverLoginDetailsResult = result)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
userCertificatesProvider = FakeUserCertificatesProvider(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue