diff --git a/app/src/main/java/com/geeksville/mesh/ui/message/MessageList.kt b/app/src/main/java/com/geeksville/mesh/ui/message/MessageList.kt index f2eceea91..4ba19713a 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/message/MessageList.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/message/MessageList.kt @@ -190,9 +190,10 @@ internal fun MessageList( isConnected = isConnected, onNavigateToOriginalMessage = { coroutineScope.launch { - listState.animateScrollToItem( - index = messages.indexOfFirst { it.packetId == msg.replyId } - ) + val targetIndex = messages.indexOfFirst { it.packetId == msg.replyId } + if (targetIndex != -1) { + listState.animateScrollToItem(index = targetIndex) + } } } ) diff --git a/app/src/main/java/com/geeksville/mesh/ui/message/components/MessageItem.kt b/app/src/main/java/com/geeksville/mesh/ui/message/components/MessageItem.kt index d97091473..d7a3250df 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/message/components/MessageItem.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/message/components/MessageItem.kt @@ -227,7 +227,8 @@ private fun OriginalMessageSnippet( cardColors: CardColors = CardDefaults.cardColors(), onNavigateToOriginalMessage: (Int) -> Unit ) { - message.originalMessage?.let { originalMessage -> + val originalMessage = message.originalMessage + if (originalMessage != null && originalMessage.packetId != 0) { val originalMessageNode = if (originalMessage.fromLocal) ourNode else originalMessage.node OutlinedCard(