From e84a6adf7c21a5caf7d699ba1f2bf87b3185b75d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 14:03:06 +0000 Subject: [PATCH 1/2] Update dependency org.matrix.rustcomponents:sdk-android to v0.2.76 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1871a617ee..22a3338f82 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -173,7 +173,7 @@ jsoup = "org.jsoup:jsoup:1.18.3" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.75" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.76" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From 9d6994bc99e7fbb3a76f8cad97afab377eb7d0f5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 22 Jan 2025 15:42:08 +0100 Subject: [PATCH 2/2] Fix API break --- .../matrix/impl/room/RustMatrixRoom.kt | 54 +++++++++++++------ 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 7217b25dcd..ab16ac383f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -76,6 +76,7 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.withContext +import org.matrix.rustcomponents.sdk.AllowedMessageTypes import org.matrix.rustcomponents.sdk.DateDividerMode import org.matrix.rustcomponents.sdk.IdentityStatusChangeListener import org.matrix.rustcomponents.sdk.KnockRequestsListener @@ -83,6 +84,8 @@ import org.matrix.rustcomponents.sdk.RoomInfo import org.matrix.rustcomponents.sdk.RoomInfoListener import org.matrix.rustcomponents.sdk.RoomListItem import org.matrix.rustcomponents.sdk.RoomMessageEventMessageType +import org.matrix.rustcomponents.sdk.TimelineConfiguration +import org.matrix.rustcomponents.sdk.TimelineFocus import org.matrix.rustcomponents.sdk.TypingNotificationsListener import org.matrix.rustcomponents.sdk.UserPowerLevelUpdate import org.matrix.rustcomponents.sdk.WidgetCapabilities @@ -206,10 +209,16 @@ class RustMatrixRoom( override suspend fun timelineFocusedOnEvent(eventId: EventId): Result = withContext(roomDispatcher) { runCatching { - innerRoom.timelineFocusedOnEvent( - eventId = eventId.value, - numContextEvents = 50u, - internalIdPrefix = "focus_$eventId", + innerRoom.timelineWithConfiguration( + configuration = TimelineConfiguration( + focus = TimelineFocus.Event( + eventId = eventId.value, + numContextEvents = 50u, + ), + allowedMessageTypes = AllowedMessageTypes.All, + internalIdPrefix = "focus_$eventId", + dateDividerMode = DateDividerMode.DAILY, + ) ).let { inner -> createTimeline(inner, mode = Timeline.Mode.FOCUSED_ON_EVENT) } @@ -224,10 +233,16 @@ class RustMatrixRoom( override suspend fun pinnedEventsTimeline(): Result = withContext(roomDispatcher) { runCatching { - innerRoom.pinnedEventsTimeline( - internalIdPrefix = "pinned_events", - maxEventsToLoad = 100u, - maxConcurrentRequests = 10u, + innerRoom.timelineWithConfiguration( + configuration = TimelineConfiguration( + focus = TimelineFocus.PinnedEvents( + maxEventsToLoad = 100u, + maxConcurrentRequests = 10u, + ), + allowedMessageTypes = AllowedMessageTypes.All, + internalIdPrefix = "pinned_events", + dateDividerMode = DateDividerMode.DAILY, + ) ).let { inner -> createTimeline(inner, mode = Timeline.Mode.PINNED_EVENTS) } @@ -240,15 +255,20 @@ class RustMatrixRoom( override suspend fun mediaTimeline(): Result = withContext(roomDispatcher) { runCatching { - innerRoom.messageFilteredTimeline( - internalIdPrefix = "MediaGallery_", - allowedMessageTypes = listOf( - RoomMessageEventMessageType.FILE, - RoomMessageEventMessageType.IMAGE, - RoomMessageEventMessageType.VIDEO, - RoomMessageEventMessageType.AUDIO, - ), - dateDividerMode = DateDividerMode.MONTHLY, + innerRoom.timelineWithConfiguration( + configuration = TimelineConfiguration( + focus = TimelineFocus.Live, + allowedMessageTypes = AllowedMessageTypes.Only( + types = listOf( + RoomMessageEventMessageType.FILE, + RoomMessageEventMessageType.IMAGE, + RoomMessageEventMessageType.VIDEO, + RoomMessageEventMessageType.AUDIO, + ) + ), + internalIdPrefix = "MediaGallery_", + dateDividerMode = DateDividerMode.MONTHLY, + ) ).let { inner -> createTimeline(inner, mode = Timeline.Mode.MEDIA) }