diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt index cb80d3784a..d51dc5b5f8 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt @@ -23,6 +23,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.core.data.tryOrNull import io.element.android.libraries.matrix.auth.MatrixAuthenticationService import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch @@ -66,8 +67,11 @@ class LoginRootPresenter @Inject constructor(private val authenticationService: private fun CoroutineScope.submit(homeserver: String, formState: LoginFormState, loggedInState: MutableState) = launch { loggedInState.value = LoggedInState.LoggingIn - try { + //TODO rework the setHomeserver flow + tryOrNull { authenticationService.setHomeserver(homeserver) + } + try { val sessionId = authenticationService.login(formState.login.trim(), formState.password.trim()) loggedInState.value = LoggedInState.LoggedIn(sessionId) } catch (failure: Throwable) {