diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt index 590bf8761a..e196b72230 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt @@ -14,5 +14,4 @@ data class AccountProvider( val isPublic: Boolean = false, val isMatrixOrg: Boolean = false, val isValid: Boolean = false, - val supportSlidingSync: Boolean = false, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt index e78e6b769e..922b2683d7 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt @@ -15,8 +15,7 @@ open class AccountProviderProvider : PreviewParameterProvider { get() = sequenceOf( anAccountProvider(), anAccountProvider().copy(subtitle = null), - anAccountProvider().copy(subtitle = null, title = "no.sliding.sync", supportSlidingSync = false), - anAccountProvider().copy(subtitle = null, title = "invalid", isValid = false, supportSlidingSync = false), + anAccountProvider().copy(subtitle = null, title = "invalid", isValid = false), anAccountProvider().copy(subtitle = null, title = "Other", isPublic = false, isMatrixOrg = false), // Add other state here ) @@ -28,5 +27,4 @@ fun anAccountProvider() = AccountProvider( isPublic = true, isMatrixOrg = true, isValid = true, - supportSlidingSync = true, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt index cc97a63ed1..b55394d637 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt @@ -12,6 +12,4 @@ data class HomeserverData( val homeserverUrl: String, // True if a wellknown file has been found and is valid. If false, it means that the [homeserverUrl] is valid val isWellknownValid: Boolean, - // True if a wellknown file has been found and is valid and is claiming a sliding sync Url - val supportSlidingSync: Boolean, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt index da05661ee3..3295962355 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt @@ -29,7 +29,7 @@ class HomeserverResolver @Inject constructor( private val dispatchers: CoroutineDispatchers, private val wellknownRequest: WellknownRequest, ) { - suspend fun resolve(userInput: String): Flow> = flow { + fun resolve(userInput: String): Flow> = flow { val flowContext = currentCoroutineContext() val trimmedUserInput = userInput.trim() if (trimmedUserInput.length < 4) return@flow @@ -46,13 +46,11 @@ class HomeserverResolver @Inject constructor( } val isValid = wellKnown?.isValid().orFalse() if (isValid) { - val supportSlidingSync = wellKnown?.supportSlidingSync().orFalse() // Emit the list as soon as possible currentList.add( HomeserverData( homeserverUrl = url, isWellknownValid = true, - supportSlidingSync = supportSlidingSync ) ) withContext(flowContext) { @@ -68,7 +66,6 @@ class HomeserverResolver @Inject constructor( HomeserverData( homeserverUrl = trimmedUserInput, isWellknownValid = false, - supportSlidingSync = false, ) ) ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt index a3fd4c0d28..3111d774fc 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt @@ -21,9 +21,6 @@ import kotlinx.serialization.Serializable * "m.identity_server": { * "base_url": "https://vector.im" * }, - * "org.matrix.msc3575.proxy": { - * "url": "https://slidingsync.lab.matrix.org" - * } * } * * . @@ -34,14 +31,8 @@ data class WellKnown( val homeServer: WellKnownBaseConfig? = null, @SerialName("m.identity_server") val identityServer: WellKnownBaseConfig? = null, - @SerialName("org.matrix.msc3575.proxy") - val slidingSyncProxy: WellKnownSlidingSyncConfig? = null, ) { fun isValid(): Boolean { return homeServer?.baseURL?.isNotBlank().orFalse() } - - fun supportSlidingSync(): Boolean { - return slidingSyncProxy?.url?.isNotBlank().orFalse() - } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnownSlidingSyncConfig.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnownSlidingSyncConfig.kt deleted file mode 100644 index fa16c8de81..0000000000 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnownSlidingSyncConfig.kt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.login.impl.resolver.network - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class WellKnownSlidingSyncConfig( - @SerialName("url") - val url: String? = null, -) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt index 1288056a7b..83f0a4f1b3 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt @@ -29,7 +29,6 @@ class ChangeAccountProviderPresenter @Inject constructor( isPublic = true, isMatrixOrg = true, isValid = true, - supportSlidingSync = true, ) ), changeServerState = changeServerState, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt index 0c55251994..cf6c4715dc 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt @@ -34,20 +34,18 @@ fun aSearchAccountProviderState( fun aHomeserverDataList(): List { return listOf( - aHomeserverData(isWellknownValid = true, supportSlidingSync = true), - aHomeserverData(homeserverUrl = "https://no.sliding.sync", isWellknownValid = true, supportSlidingSync = false), - aHomeserverData(homeserverUrl = "https://invalid", isWellknownValid = false, supportSlidingSync = false), + aHomeserverData(isWellknownValid = true), + aHomeserverData(homeserverUrl = "https://no.sliding.sync", isWellknownValid = true), + aHomeserverData(homeserverUrl = "https://invalid", isWellknownValid = false), ) } fun aHomeserverData( homeserverUrl: String = AuthenticationConfig.MATRIX_ORG_URL, isWellknownValid: Boolean = true, - supportSlidingSync: Boolean = true, ): HomeserverData { return HomeserverData( homeserverUrl = homeserverUrl, isWellknownValid = isWellknownValid, - supportSlidingSync = supportSlidingSync, ) } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt index 717dd57618..fc75b07a71 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt @@ -196,7 +196,6 @@ private fun HomeserverData.toAccountProvider(): AccountProvider { isPublic = isMatrixOrg, isMatrixOrg = isMatrixOrg, isValid = isWellknownValid, - supportSlidingSync = supportSlidingSync, ) } diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt index 468049b0d2..bd653bbfae 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt @@ -46,7 +46,6 @@ class ChangeAccountProviderPresenterTest { isPublic = true, isMatrixOrg = true, isValid = true, - supportSlidingSync = true, ) ) ) diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt index b1723b6cf2..a7529643ba 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt @@ -17,7 +17,6 @@ import io.element.android.features.login.impl.resolver.HomeserverResolver import io.element.android.features.login.impl.resolver.network.FakeWellknownRequest import io.element.android.features.login.impl.resolver.network.WellKnown import io.element.android.features.login.impl.resolver.network.WellKnownBaseConfig -import io.element.android.features.login.impl.resolver.network.WellKnownSlidingSyncConfig import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.test.A_HOMESERVER_URL import io.element.android.libraries.matrix.test.auth.FakeMatrixAuthenticationService @@ -98,7 +97,7 @@ class SearchAccountProviderPresenterTest { assertThat(awaitItem().userInputResult).isEqualTo( AsyncData.Success( listOf( - aHomeserverData(homeserverUrl = "https://test.org", isWellknownValid = false, supportSlidingSync = false) + aHomeserverData(homeserverUrl = "https://test.org", isWellknownValid = false) ) ) ) @@ -106,42 +105,7 @@ class SearchAccountProviderPresenterTest { } @Test - fun `present - enter text one result no sliding sync`() = runTest { - val fakeWellknownRequest = FakeWellknownRequest() - fakeWellknownRequest.givenResultMap( - mapOf( - "https://test.org" to aWellKnown().copy(slidingSyncProxy = null), - ) - ) - val changeServerPresenter = ChangeServerPresenter( - FakeMatrixAuthenticationService(), - AccountProviderDataSource() - ) - val presenter = SearchAccountProviderPresenter( - HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), - changeServerPresenter - ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { - val initialState = awaitItem() - initialState.eventSink.invoke(SearchAccountProviderEvents.UserInput("test")) - val withInputState = awaitItem() - assertThat(withInputState.userInput).isEqualTo("test") - assertThat(initialState.userInputResult).isEqualTo(AsyncData.Uninitialized) - assertThat(awaitItem().userInputResult).isInstanceOf(AsyncData.Loading::class.java) - assertThat(awaitItem().userInputResult).isEqualTo( - AsyncData.Success( - listOf( - aHomeserverData(homeserverUrl = "https://test.org", isWellknownValid = true, supportSlidingSync = false) - ) - ) - ) - } - } - - @Test - fun `present - enter text one result with sliding sync`() = runTest { + fun `present - enter text one result with wellknown`() = runTest { val fakeWellknownRequest = FakeWellknownRequest() fakeWellknownRequest.givenResultMap( mapOf( @@ -183,9 +147,6 @@ class SearchAccountProviderPresenterTest { identityServer = WellKnownBaseConfig( baseURL = A_HOMESERVER_URL ), - slidingSyncProxy = WellKnownSlidingSyncConfig( - url = A_HOMESERVER_URL - ) ) } } diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png index 6f7b6bf561..ea0ab6bd30 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5395f34b153a3c453c95970f326e701e7e5619b53b9bf38dd6a9cff107e28407 -size 8460 +oid sha256:5fb195657c1ac0379839bba6acc0935f6b1b946714ba252d5797fd4bc0c514db +size 6753 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png index ea0ab6bd30..cccd463c66 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5fb195657c1ac0379839bba6acc0935f6b1b946714ba252d5797fd4bc0c514db -size 6753 +oid sha256:6d742af6422e7f5ce0070831e921180006a5b48d52c042fdc52030435597f242 +size 5835 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_4_en.png deleted file mode 100644 index cccd463c66..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_4_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d742af6422e7f5ce0070831e921180006a5b48d52c042fdc52030435597f242 -size 5835 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png index 6d10a07782..20f4afd272 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:daed25bb59f0cca8d4bdb5139a177904a407b7d42f9e2d7053fd6f7362c141bf -size 8372 +oid sha256:ec5654de38a98ee4b078aa3dfa093a686cb89a2f200eb69f59e78041eb8b2f60 +size 6743 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png index 20f4afd272..6e685f122d 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec5654de38a98ee4b078aa3dfa093a686cb89a2f200eb69f59e78041eb8b2f60 -size 6743 +oid sha256:b4731443df36855c8785072a8085fc9968ec231ff46ff24012b0ae72cd084e46 +size 5867 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_4_en.png deleted file mode 100644 index 6e685f122d..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_4_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b4731443df36855c8785072a8085fc9968ec231ff46ff24012b0ae72cd084e46 -size 5867