fix: Fetch original message when displaying a reply (#2152)

This commit is contained in:
James Rich 2025-06-18 16:05:02 +00:00 committed by GitHub
parent 0799122c9e
commit 468c4ab6b7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 40 additions and 12 deletions

View file

@ -171,10 +171,6 @@ internal fun MessageList(
var node by remember {
mutableStateOf(nodes.find { it.num == msg.node.num } ?: msg.node)
}
val originalMessage = messages.find { it.packetId == msg.replyId }
LaunchedEffect(nodes, messages) {
node = nodes.find { it.num == msg.node.num } ?: msg.node
}
MessageItem(
node = node,
ourNode = ourNode!!,
@ -192,7 +188,6 @@ internal fun MessageList(
sendReaction = { onSendReaction(it, msg.packetId) },
onShowReactions = { showReactionDialog = msg.emojis },
isConnected = isConnected,
originalMessage = originalMessage,
onNavigateToOriginalMessage = {
coroutineScope.launch {
listState.animateScrollToItem(

View file

@ -89,7 +89,6 @@ internal fun MessageItem(
onAction: (NodeMenuAction) -> Unit = {},
onStatusClick: () -> Unit = {},
isConnected: Boolean,
originalMessage: Message? = null,
onNavigateToOriginalMessage: (Int) -> Unit = {},
) = Column(
modifier = modifier
@ -124,7 +123,7 @@ internal fun MessageItem(
modifier = Modifier
.fillMaxWidth(),
) {
if (originalMessage != null) {
message.originalMessage?.let { originalMessage ->
val originalMessageIsFromLocal = originalMessage.node.user.id == DataPacket.ID_LOCAL
val originalMessageNode =
if (originalMessageIsFromLocal) ourNode else originalMessage.node