diff --git a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/LastMessageFormatter.kt b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/LastMessageFormatter.kt index 3db02b4ffa..4cd35efc15 100644 --- a/features/roomlist/src/main/java/io/element/android/x/features/roomlist/LastMessageFormatter.kt +++ b/features/roomlist/src/main/java/io/element/android/x/features/roomlist/LastMessageFormatter.kt @@ -33,7 +33,7 @@ class LastMessageFormatter( fun format(timestamp: Long?): String { if (timestamp == null) return "" val now: Instant = clock.now() - val tsInstant = Instant.fromEpochSeconds(timestamp) + val tsInstant = Instant.fromEpochMilliseconds(timestamp) val nowDateTime = now.toLocalDateTime(TimeZone.currentSystemDefault()) val tsDateTime = tsInstant.toLocalDateTime(TimeZone.currentSystemDefault()) val isSameDay = nowDateTime.date == tsDateTime.date diff --git a/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixClient.kt b/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixClient.kt index 67d56f059c..e7cc71e996 100644 --- a/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixClient.kt +++ b/libraries/matrix/src/main/java/io/element/android/x/matrix/MatrixClient.kt @@ -39,7 +39,10 @@ class MatrixClient internal constructor( private val slidingSyncView = SlidingSyncViewBuilder() .timelineLimit(limit = 1u) - .requiredState(requiredState = listOf(RequiredState(key = "m.room.avatar", value = ""))) + .requiredState(requiredState = listOf( + RequiredState(key = "m.room.avatar", value = ""), + RequiredState(key = "m.room.encryption", value = ""), + )) .name(name = "HomeScreenView") .syncMode(mode = SlidingSyncMode.FULL_SYNC) .build() @@ -47,6 +50,7 @@ class MatrixClient internal constructor( private val slidingSync = client .slidingSync() .homeserver("https://slidingsync.lab.element.dev") + .withCommonExtensions() .addView(slidingSyncView) .build() diff --git a/libraries/matrix/src/main/java/io/element/android/x/matrix/room/message/RoomMessageFactory.kt b/libraries/matrix/src/main/java/io/element/android/x/matrix/room/message/RoomMessageFactory.kt index dd0890a91d..5929c84b4b 100644 --- a/libraries/matrix/src/main/java/io/element/android/x/matrix/room/message/RoomMessageFactory.kt +++ b/libraries/matrix/src/main/java/io/element/android/x/matrix/room/message/RoomMessageFactory.kt @@ -2,17 +2,17 @@ package io.element.android.x.matrix.room.message import io.element.android.x.matrix.core.EventId import io.element.android.x.matrix.core.UserId -import org.matrix.rustcomponents.sdk.AnyMessage +import org.matrix.rustcomponents.sdk.EventTimelineItem class RoomMessageFactory { - fun create(anyMessage: AnyMessage): RoomMessage? { - val textMessage = anyMessage.textMessage()?.baseMessage() ?: return null + fun create(eventTimelineItem: EventTimelineItem?): RoomMessage? { + eventTimelineItem ?: return null return RoomMessage( - eventId = EventId(textMessage.id()), - body = textMessage.body(), - sender = UserId(textMessage.sender()), - originServerTs = textMessage.originServerTs().toLong() + eventId = EventId(eventTimelineItem.eventId() ?: ""), + body = eventTimelineItem.content().asMessage()?.body() ?: "", + sender = UserId(eventTimelineItem.sender()), + originServerTs = eventTimelineItem.originServerTs()?.toLong() ?: 0L ) }