diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt index 184766e323..757dd73395 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt @@ -167,6 +167,6 @@ class LoggedInPresenter( private fun CoroutineScope.preloadAccountManagementUrl() = launch { matrixClient.getAccountManagementUrl(AccountManagementAction.Profile) - matrixClient.getAccountManagementUrl(AccountManagementAction.SessionsList) + matrixClient.getAccountManagementUrl(AccountManagementAction.DevicesList) } } diff --git a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt index 849dfa85b2..f1759eab3e 100644 --- a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt +++ b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt @@ -81,7 +81,7 @@ class LoggedInPresenterTest { accountManagementUrlResult.assertions().isCalledExactly(2) .withSequence( listOf(value(AccountManagementAction.Profile)), - listOf(value(AccountManagementAction.SessionsList)), + listOf(value(AccountManagementAction.DevicesList)), ) } } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt index 59aa6ece8e..3d6a829167 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt @@ -165,6 +165,6 @@ class PreferencesRootPresenter( devicesManagementUrl: MutableState, ) = launch { accountManagementUrl.value = matrixClient.getAccountManagementUrl(AccountManagementAction.Profile).getOrNull() - devicesManagementUrl.value = matrixClient.getAccountManagementUrl(AccountManagementAction.SessionsList).getOrNull() + devicesManagementUrl.value = matrixClient.getAccountManagementUrl(AccountManagementAction.DevicesList).getOrNull() } } diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt index d10f860f0d..f0dc58ef22 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt @@ -98,10 +98,10 @@ class PreferencesRootPresenterTest { accountManagementUrlResult.assertions().isCalledExactly(2) .withSequence( listOf(value(AccountManagementAction.Profile)), - listOf(value(AccountManagementAction.SessionsList)), + listOf(value(AccountManagementAction.DevicesList)), ) assertThat(finalState.accountManagementUrl).isEqualTo("Profile url") - assertThat(finalState.devicesManagementUrl).isEqualTo("SessionsList url") + assertThat(finalState.devicesManagementUrl).isEqualTo("DevicesList url") } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8e189d9025..be0c99df31 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -178,7 +178,7 @@ test_detekt_test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version # https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt # All new features should not be implemented in the pull request that upgrades the version, developers should # only fix API breaks and may add some TODOs. -matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.03.4" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.03.05" # Others coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" } @@ -202,7 +202,7 @@ sqldelight-driver-jvm = { module = "app.cash.sqldelight:sqlite-driver", version. sqldelight-coroutines = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqldelight" } sqlcipher = "net.zetetic:sqlcipher-android:4.13.0" sqlite = "androidx.sqlite:sqlite-ktx:2.6.2" -unifiedpush = "org.unifiedpush.android:connector:3.3.1" +unifiedpush = "org.unifiedpush.android:connector:3.3.2" vanniktech_blurhash = "com.vanniktech:blurhash:0.3.0" telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", version.ref = "telephoto" } telephoto_flick = { module = "me.saket.telephoto:flick-android", version.ref = "telephoto" } @@ -258,7 +258,7 @@ ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } # Note: used in DependencyInjectionExtensions.kt metro = { id = "dev.zacsweers.metro", version.ref = "metro" } detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } -ktlint = "org.jlleitschuh.gradle.ktlint:14.0.1" +ktlint = "org.jlleitschuh.gradle.ktlint:14.1.0" dependencygraph = "com.savvasdalkitsis.module-dependency-graph:0.12" dependencycheck = "org.owasp.dependencycheck:12.2.0" dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyAnalysis" } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt index 77e8854417..e1c7764e58 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/oidc/AccountManagementAction.kt @@ -12,7 +12,7 @@ import io.element.android.libraries.matrix.api.core.DeviceId sealed interface AccountManagementAction { data object Profile : AccountManagementAction - data object SessionsList : AccountManagementAction - data class SessionView(val deviceId: DeviceId) : AccountManagementAction - data class SessionEnd(val deviceId: DeviceId) : AccountManagementAction + data object DevicesList : AccountManagementAction + data class DeviceView(val deviceId: DeviceId) : AccountManagementAction + data class DeviceDelete(val deviceId: DeviceId) : AccountManagementAction } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt index 76e60e90f4..f86c57543a 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementAction.kt @@ -14,8 +14,8 @@ import org.matrix.rustcomponents.sdk.AccountManagementAction as RustAccountManag fun AccountManagementAction.toRustAction(): RustAccountManagementAction { return when (this) { AccountManagementAction.Profile -> RustAccountManagementAction.Profile - is AccountManagementAction.SessionEnd -> RustAccountManagementAction.DeviceDelete(deviceId.value) - is AccountManagementAction.SessionView -> RustAccountManagementAction.DeviceView(deviceId.value) - AccountManagementAction.SessionsList -> RustAccountManagementAction.DevicesList + is AccountManagementAction.DeviceDelete -> RustAccountManagementAction.DeviceDelete(deviceId.value) + is AccountManagementAction.DeviceView -> RustAccountManagementAction.DeviceView(deviceId.value) + AccountManagementAction.DevicesList -> RustAccountManagementAction.DevicesList } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementActionKtTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementActionKtTest.kt index 0e0cab414e..3637ef78cc 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementActionKtTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/oidc/AccountManagementActionKtTest.kt @@ -19,11 +19,11 @@ class AccountManagementActionKtTest { fun `test AccountManagementAction to RustAccountManagementAction`() { assertThat(AccountManagementAction.Profile.toRustAction()) .isEqualTo(RustAccountManagementAction.Profile) - assertThat(AccountManagementAction.SessionEnd(A_DEVICE_ID).toRustAction()) + assertThat(AccountManagementAction.DeviceDelete(A_DEVICE_ID).toRustAction()) .isEqualTo(RustAccountManagementAction.DeviceDelete(A_DEVICE_ID.value)) - assertThat(AccountManagementAction.SessionView(A_DEVICE_ID).toRustAction()) + assertThat(AccountManagementAction.DeviceView(A_DEVICE_ID).toRustAction()) .isEqualTo(RustAccountManagementAction.DeviceView(A_DEVICE_ID.value)) - assertThat(AccountManagementAction.SessionsList.toRustAction()) + assertThat(AccountManagementAction.DevicesList.toRustAction()) .isEqualTo(RustAccountManagementAction.DevicesList) } } diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt index 725abe3dae..e3c1fb5dd3 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownTextInput.kt @@ -103,6 +103,9 @@ fun MarkdownTextInput( } addTextChangedListener { editable -> onTyping(!editable.isNullOrEmpty()) + if (state.lineCount != lineCount) { + post { bringPointIntoView(selectionStart) } + } state.text.update(editable, false) state.lineCount = lineCount