Merge pull request #4834 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-25.x

fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.6
This commit is contained in:
ganfra 2025-06-06 18:55:06 +02:00 committed by GitHub
commit a1b77c920a
3 changed files with 13 additions and 6 deletions

View file

@ -172,7 +172,7 @@ jsoup = "org.jsoup:jsoup:1.20.1"
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
molecule-runtime = "app.cash.molecule:molecule-runtime:2.1.0" molecule-runtime = "app.cash.molecule:molecule-runtime:2.1.0"
timber = "com.jakewharton.timber:timber:5.0.1" 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 = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" }
matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", 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" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" }

View file

@ -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.MessageFormat as RustMessageFormat
import org.matrix.rustcomponents.sdk.MessageType as RustMessageType 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 { class EventMessageMapper {
private val inReplyToMapper by lazy { InReplyToMapper(TimelineEventContentMapper()) } private val inReplyToMapper by lazy { InReplyToMapper(TimelineEventContentMapper()) }
@ -112,6 +115,10 @@ class EventMessageMapper {
is MessageType.Other -> { is MessageType.Other -> {
OtherMessageType(type.msgtype, type.body) OtherMessageType(type.msgtype, type.body)
} }
is MessageType.Gallery -> {
// TODO expose the GalleryType.
OtherMessageType(MSG_TYPE_GALLERY_UNSTABLE, type.content.body)
}
} }
} }

View file

@ -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.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.TimelineEventContentMapper
import io.element.android.libraries.matrix.impl.timeline.item.event.map 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.InReplyToDetails
import org.matrix.rustcomponents.sdk.RepliedToEventDetails
class InReplyToMapper( class InReplyToMapper(
private val timelineEventContentMapper: TimelineEventContentMapper, private val timelineEventContentMapper: TimelineEventContentMapper,
@ -21,7 +21,7 @@ class InReplyToMapper(
fun map(inReplyToDetails: InReplyToDetails): InReplyTo { fun map(inReplyToDetails: InReplyToDetails): InReplyTo {
val inReplyToId = EventId(inReplyToDetails.eventId()) val inReplyToId = EventId(inReplyToDetails.eventId())
return when (val event = inReplyToDetails.event()) { return when (val event = inReplyToDetails.event()) {
is RepliedToEventDetails.Ready -> { is EmbeddedEventDetails.Ready -> {
InReplyTo.Ready( InReplyTo.Ready(
eventId = inReplyToId, eventId = inReplyToId,
content = timelineEventContentMapper.map(event.content), content = timelineEventContentMapper.map(event.content),
@ -29,14 +29,14 @@ class InReplyToMapper(
senderProfile = event.senderProfile.map(), senderProfile = event.senderProfile.map(),
) )
} }
is RepliedToEventDetails.Error -> InReplyTo.Error( is EmbeddedEventDetails.Error -> InReplyTo.Error(
eventId = inReplyToId, eventId = inReplyToId,
message = event.message, message = event.message,
) )
RepliedToEventDetails.Pending -> InReplyTo.Pending( EmbeddedEventDetails.Pending -> InReplyTo.Pending(
eventId = inReplyToId, eventId = inReplyToId,
) )
is RepliedToEventDetails.Unavailable -> InReplyTo.NotLoaded( is EmbeddedEventDetails.Unavailable -> InReplyTo.NotLoaded(
eventId = inReplyToId eventId = inReplyToId
) )
} }