diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index d4b7accbaa..c224ad564b 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index f260607eea..539aa3c7e8 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -4,9 +4,9 @@
[versions]
# Project
android_gradle_plugin = "8.7.1"
-kotlin = "2.0.20"
+kotlin = "2.0.21"
kotlinpoet = "2.0.0"
-ksp = "2.0.20-1.0.25"
+ksp = "2.0.21-1.0.25"
firebaseAppDistribution = "5.0.0"
# AndroidX
@@ -29,7 +29,7 @@ compose_bom = "2024.10.00"
composecompiler = "1.5.15"
# Coroutines
-coroutines = "1.8.1"
+coroutines = "1.9.0"
# Accompanist
accompanist = "0.36.0"
@@ -37,17 +37,21 @@ accompanist = "0.36.0"
# Test
test_core = "1.6.1"
+# Jetbrain
+datetime = "0.6.1"
+serialization_json = "1.7.3"
+
#other
coil = "2.7.0"
-datetime = "0.6.0"
-dependencyAnalysis = "2.3.0"
-serialization_json = "1.6.3"
showkase = "1.0.3"
appyx = "1.4.0"
sqldelight = "2.0.2"
wysiwyg = "2.37.13"
telephoto = "0.13.0"
+# Dependency analysis
+dependencyAnalysis = "2.3.0"
+
# DI
dagger = "2.52"
anvil = "0.3.3"
@@ -162,7 +166,7 @@ coil_test = { module = "io.coil-kt:coil-test", version.ref = "coil" }
compound = { module = "io.element.android:compound-android", version = "0.1.1" }
datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" }
serialization_json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization_json" }
-kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.7"
+kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8"
showkase = { module = "com.airbnb.android:showkase", version.ref = "showkase" }
showkase_processor = { module = "com.airbnb.android:showkase-processor", version.ref = "showkase" }
jsoup = "org.jsoup:jsoup:1.18.1"
diff --git a/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt b/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt
index 68748ecdb5..a54d0eb9d8 100644
--- a/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt
+++ b/libraries/core/src/main/kotlin/io/element/android/libraries/core/coroutine/DerivedStateFlow.kt
@@ -7,6 +7,7 @@
package io.element.android.libraries.core.coroutine
+import kotlinx.coroutines.ExperimentalForInheritanceCoroutinesApi
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.FlowCollector
@@ -19,6 +20,7 @@ import kotlinx.coroutines.flow.stateIn
* A [StateFlow] that derives its value from a [Flow].
* Useful when you want to apply transformations to a [Flow] and expose it as a [StateFlow].
*/
+@OptIn(ExperimentalForInheritanceCoroutinesApi::class)
class DerivedStateFlow(
private val getValue: () -> T,
private val flow: Flow
diff --git a/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt b/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt
index 7065016204..4ac0f7ffd2 100644
--- a/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt
+++ b/services/analytics/test/src/main/kotlin/io/element/android/services/analytics/test/FakeScreenTracker.kt
@@ -8,6 +8,7 @@
package io.element.android.services.analytics.test
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
import im.vector.app.features.analytics.plan.MobileScreen
import io.element.android.services.analytics.api.ScreenTracker
import io.element.android.tests.testutils.lambda.lambdaError
@@ -17,6 +18,8 @@ class FakeScreenTracker(
) : ScreenTracker {
@Composable
override fun TrackScreen(screen: MobileScreen.ScreenName) {
- trackScreenLambda(screen)
+ LaunchedEffect(Unit) {
+ trackScreenLambda(screen)
+ }
}
}