mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
Timeline: fix duplicate key with local echo
This commit is contained in:
+6
-3
@@ -14,6 +14,7 @@ import io.element.android.x.matrix.timeline.MatrixTimelineItem
|
|||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.matrix.rustcomponents.sdk.MessageType
|
import org.matrix.rustcomponents.sdk.MessageType
|
||||||
|
import org.matrix.rustcomponents.sdk.TimelineKey
|
||||||
|
|
||||||
class MessageTimelineItemStateMapper(
|
class MessageTimelineItemStateMapper(
|
||||||
private val client: MatrixClient,
|
private val client: MatrixClient,
|
||||||
@@ -52,10 +53,12 @@ class MessageTimelineItemStateMapper(
|
|||||||
val senderAvatarUrl = room.userAvatarUrl(currentSender).getOrNull()
|
val senderAvatarUrl = room.userAvatarUrl(currentSender).getOrNull()
|
||||||
val senderAvatarData =
|
val senderAvatarData =
|
||||||
loadAvatarData(senderDisplayName ?: currentSender, senderAvatarUrl)
|
loadAvatarData(senderDisplayName ?: currentSender, senderAvatarUrl)
|
||||||
|
val uniqueId = when (val eventKey = currentTimelineItem.event.key()) {
|
||||||
|
is TimelineKey.TransactionId -> eventKey.txnId
|
||||||
|
is TimelineKey.EventId -> eventKey.eventId
|
||||||
|
}
|
||||||
return MessagesTimelineItemState.MessageEvent(
|
return MessagesTimelineItemState.MessageEvent(
|
||||||
id = currentTimelineItem.event.eventId() ?: "",
|
id = uniqueId,
|
||||||
senderId = currentSender,
|
senderId = currentSender,
|
||||||
senderDisplayName = senderDisplayName,
|
senderDisplayName = senderDisplayName,
|
||||||
senderAvatar = senderAvatarData,
|
senderAvatar = senderAvatarData,
|
||||||
|
|||||||
Reference in New Issue
Block a user