diff --git a/.idea/dictionaries/shared.xml b/.idea/dictionaries/shared.xml index c3aa70ef23..7afe540d22 100644 --- a/.idea/dictionaries/shared.xml +++ b/.idea/dictionaries/shared.xml @@ -10,6 +10,7 @@ onboarding placeables posthog + securebackup showkase snackbar swipeable diff --git a/.maestro/tests/account/logout.yaml b/.maestro/tests/account/logout.yaml index a06ac25e2d..c2f75e0977 100644 --- a/.maestro/tests/account/logout.yaml +++ b/.maestro/tests/account/logout.yaml @@ -3,11 +3,12 @@ appId: ${APP_ID} - tapOn: id: "home_screen-settings" - tapOn: "Sign out" -- takeScreenshot: build/maestro/900-SignOutDialg +- takeScreenshot: build/maestro/900-SignOutScreen +- back +- tapOn: "Sign out" +- tapOn: "Sign out" # Ensure cancel cancels - tapOn: "Cancel" - tapOn: "Sign out" -- tapOn: - text: "Sign out" - index: 1 +- tapOn: "Sign out anyway" - runFlow: ../assertions/assertInitDisplayed.yaml diff --git a/.maestro/tests/roomList/searchRoomList.yaml b/.maestro/tests/roomList/searchRoomList.yaml index 6c31acd4db..b4f44c8b27 100644 --- a/.maestro/tests/roomList/searchRoomList.yaml +++ b/.maestro/tests/roomList/searchRoomList.yaml @@ -8,8 +8,6 @@ appId: ${APP_ID} # Back from timeline - back - assertVisible: "MyR" -# Close keyboard -- hideKeyboard # Back from search - back - runFlow: ../assertions/assertHomeDisplayed.yaml diff --git a/CHANGES.md b/CHANGES.md index 796c0d783c..16e33de234 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,28 @@ +Changes in Element X v0.3.0 (2023-10-31) +======================================== + +Features ✨ +---------- + - Element Call: change the 'join call' button in a chat room when there's an active call. ([#1158](https://github.com/vector-im/element-x-android/issues/1158)) + - Mentions: add mentions suggestion view in RTE ([#1452](https://github.com/vector-im/element-x-android/issues/1452)) + - Record and send voice messages ([#1596](https://github.com/vector-im/element-x-android/issues/1596)) + - Enable voice messages for all users ([#1669](https://github.com/vector-im/element-x-android/issues/1669)) + - Receive and play a voice message ([#2084](https://github.com/vector-im/element-x-android/issues/2084)) + - Enable Element Call integration in rooms by default, fix several issues when creating or joining calls. + +Bugfixes 🐛 +---------- + - Group fallback notification to avoid having plenty of them displayed. ([#994](https://github.com/vector-im/element-x-android/issues/994)) + - Hide keyboard when exiting the chat room screen. ([#1375](https://github.com/vector-im/element-x-android/issues/1375)) + - Always register the pusher when application starts ([#1481](https://github.com/vector-im/element-x-android/issues/1481)) + - Ensure screen does not turn off when playing a video ([#1519](https://github.com/vector-im/element-x-android/issues/1519)) + - Fix issue where text is cleared when cancelling a reply ([#1617](https://github.com/vector-im/element-x-android/issues/1617)) + +Other changes +------------- + - Remove usage of blocking methods. ([#1563](https://github.com/vector-im/element-x-android/issues/1563)) + + Changes in Element X v0.2.4 (2023-10-12) ======================================== diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5286bde045..c8e11927d1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -27,7 +27,7 @@ plugins { alias(libs.plugins.anvil) alias(libs.plugins.ksp) alias(libs.plugins.kapt) - id("com.google.firebase.appdistribution") version "4.0.0" + id("com.google.firebase.appdistribution") version "4.0.1" id("org.jetbrains.kotlinx.knit") version "0.4.0" id("kotlin-parcelize") // To be able to update the firebase.xml files, uncomment and build the project @@ -201,9 +201,9 @@ dependencies { implementation(projects.features.call) implementation(projects.anvilannotations) implementation(projects.appnav) + implementation(projects.appconfig) anvil(projects.anvilcodegen) - coreLibraryDesugaring(libs.android.desugar) implementation(libs.appyx.core) implementation(libs.androidx.splash) implementation(libs.androidx.core) @@ -230,7 +230,6 @@ dependencies { testImplementation(libs.test.truth) testImplementation(libs.test.turbine) testImplementation(projects.libraries.matrix.test) - testImplementation(libs.test.konsist) ksp(libs.showkase.processor) } diff --git a/app/src/main/kotlin/io/element/android/x/MainActivity.kt b/app/src/main/kotlin/io/element/android/x/MainActivity.kt index 3b35a0ebf4..7109743052 100644 --- a/app/src/main/kotlin/io/element/android/x/MainActivity.kt +++ b/app/src/main/kotlin/io/element/android/x/MainActivity.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.platform.LocalUriHandler import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen import androidx.core.view.WindowCompat import com.bumble.appyx.core.integration.NodeHost -import com.bumble.appyx.core.integrationpoint.NodeComponentActivity +import com.bumble.appyx.core.integrationpoint.NodeActivity import com.bumble.appyx.core.plugin.NodeReadyObserver import io.element.android.libraries.architecture.bindings import io.element.android.libraries.core.log.logger.LoggerTag @@ -42,7 +42,7 @@ import timber.log.Timber private val loggerTag = LoggerTag("MainActivity") -class MainActivity : NodeComponentActivity() { +class MainActivity : NodeActivity() { private lateinit var mainNode: MainNode diff --git a/app/src/main/kotlin/io/element/android/x/di/AppModule.kt b/app/src/main/kotlin/io/element/android/x/di/AppModule.kt index 17ba415762..037cec1e71 100644 --- a/app/src/main/kotlin/io/element/android/x/di/AppModule.kt +++ b/app/src/main/kotlin/io/element/android/x/di/AppModule.kt @@ -31,6 +31,7 @@ import io.element.android.libraries.core.meta.BuildType import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.ApplicationContext +import io.element.android.libraries.di.CacheDirectory import io.element.android.libraries.di.DefaultPreferences import io.element.android.libraries.di.SingleIn import io.element.android.x.BuildConfig @@ -51,6 +52,12 @@ object AppModule { return File(context.filesDir, "sessions") } + @Provides + @CacheDirectory + fun providesCacheDirectory(@ApplicationContext context: Context): File { + return context.cacheDir + } + @Provides fun providesResources(@ApplicationContext context: Context): Resources { return context.resources diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index a6572451d7..fad45b6def 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -22,5 +22,5 @@ @style/Theme.ElementX - -