mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 03:06:14 +00:00
Make sure enforce_element_pro is taken into account in FOSS (#7631)
* Make sure `enforce_element_pro` is taken into account in FOSS * Make sure we crate `RustTemporaryMatrixClient` instances with a proper `serverName` value
This commit is contained in:
committed by
GitHub
parent
3b2e416855
commit
dcd0bc782f
+9
-1
@@ -10,9 +10,11 @@ package io.element.android.libraries.matrix.impl
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.libraries.core.extensions.runCatchingExceptions
|
||||
import io.element.android.libraries.core.uri.ensureProtocol
|
||||
import io.element.android.libraries.matrix.api.TemporaryMatrixClient
|
||||
import io.element.android.libraries.matrix.api.TemporaryMatrixClientFactory
|
||||
import io.element.android.libraries.matrix.impl.paths.SessionPathsFactory
|
||||
import java.net.URL
|
||||
|
||||
@ContributesBinding(AppScope::class)
|
||||
class RustTemporaryMatrixClientFactory(
|
||||
@@ -21,6 +23,12 @@ class RustTemporaryMatrixClientFactory(
|
||||
) : TemporaryMatrixClientFactory {
|
||||
override suspend fun create(serverName: String): Result<TemporaryMatrixClient> {
|
||||
return runCatchingExceptions {
|
||||
// In case the 'serverName' is a full URL, we need to extract the host and port to pass to the client builder.
|
||||
val parsedUrl = URL(serverName.ensureProtocol())
|
||||
val domain = parsedUrl.host ?: error("Invalid server name: $serverName")
|
||||
val port = parsedUrl.port
|
||||
val formattedServerName = if (port != -1) "$domain:$port" else domain
|
||||
|
||||
val sessionPaths = sessionPathsFactory.create()
|
||||
val client = rustMatrixClientFactory.getBaseClientBuilder(
|
||||
sessionPaths = sessionPaths,
|
||||
@@ -28,7 +36,7 @@ class RustTemporaryMatrixClientFactory(
|
||||
slidingSyncType = ClientBuilderSlidingSync.Native,
|
||||
isMessageSearchAvailable = false,
|
||||
)
|
||||
.serverName(serverName)
|
||||
.serverName(formattedServerName)
|
||||
.build()
|
||||
RustTemporaryMatrixClient(client, sessionPaths)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user