From 6b842e1b18be72bfa57c7d7837246a284a595e27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:26:15 +0000 Subject: [PATCH 1/2] fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.6 --- 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 3b1e66b82d..c82a0ee1ad 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -172,7 +172,7 @@ jsoup = "org.jsoup:jsoup:1.20.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.1.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.6.3" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.6.6" 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 36c287aa69859cee034e27b67e05c76127490a39 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 6 Jun 2025 18:01:59 +0200 Subject: [PATCH 2/2] deps (rust sdk) : handle breaking changes of version 25.06.06 --- .../impl/timeline/item/event/EventMessageMapper.kt | 7 +++++++ .../matrix/impl/timeline/reply/InReplyToMapper.kt | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt index 7cd12d0f38..d806c9492f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt @@ -31,6 +31,9 @@ import org.matrix.rustcomponents.sdk.FormattedBody as RustFormattedBody import org.matrix.rustcomponents.sdk.MessageFormat as RustMessageFormat import org.matrix.rustcomponents.sdk.MessageType as RustMessageType +// https://github.com/Johennes/matrix-spec-proposals/blob/johannes/msgtype-galleries/proposals/4274-inline-media-galleries.md#unstable-prefix +private const val MSG_TYPE_GALLERY_UNSTABLE = "dm.filament.gallery" + class EventMessageMapper { private val inReplyToMapper by lazy { InReplyToMapper(TimelineEventContentMapper()) } @@ -112,6 +115,10 @@ class EventMessageMapper { is MessageType.Other -> { OtherMessageType(type.msgtype, type.body) } + is MessageType.Gallery -> { + // TODO expose the GalleryType. + OtherMessageType(MSG_TYPE_GALLERY_UNSTABLE, type.content.body) + } } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt index 052385e5be..1b329bfe0a 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt @@ -12,8 +12,8 @@ import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.item.event.InReplyTo import io.element.android.libraries.matrix.impl.timeline.item.event.TimelineEventContentMapper import io.element.android.libraries.matrix.impl.timeline.item.event.map +import org.matrix.rustcomponents.sdk.EmbeddedEventDetails import org.matrix.rustcomponents.sdk.InReplyToDetails -import org.matrix.rustcomponents.sdk.RepliedToEventDetails class InReplyToMapper( private val timelineEventContentMapper: TimelineEventContentMapper, @@ -21,7 +21,7 @@ class InReplyToMapper( fun map(inReplyToDetails: InReplyToDetails): InReplyTo { val inReplyToId = EventId(inReplyToDetails.eventId()) return when (val event = inReplyToDetails.event()) { - is RepliedToEventDetails.Ready -> { + is EmbeddedEventDetails.Ready -> { InReplyTo.Ready( eventId = inReplyToId, content = timelineEventContentMapper.map(event.content), @@ -29,14 +29,14 @@ class InReplyToMapper( senderProfile = event.senderProfile.map(), ) } - is RepliedToEventDetails.Error -> InReplyTo.Error( + is EmbeddedEventDetails.Error -> InReplyTo.Error( eventId = inReplyToId, message = event.message, ) - RepliedToEventDetails.Pending -> InReplyTo.Pending( + EmbeddedEventDetails.Pending -> InReplyTo.Pending( eventId = inReplyToId, ) - is RepliedToEventDetails.Unavailable -> InReplyTo.NotLoaded( + is EmbeddedEventDetails.Unavailable -> InReplyTo.NotLoaded( eventId = inReplyToId ) }