diff --git a/app/src/main/java/com/nextcloud/talk/ui/chat/ChatView.kt b/app/src/main/java/com/nextcloud/talk/ui/chat/ChatView.kt index af01bf99a7..bc9ab4e3bc 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/chat/ChatView.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/chat/ChatView.kt @@ -302,15 +302,13 @@ fun ChatView( } } - LaunchedEffect(isAtNewest) { + LaunchedEffect(isAtNewest, state.chatItems) { if (!isAtNewest) return@LaunchedEffect - latestChatItems - .getOrNull(listState.firstVisibleItemIndex) - ?.let { item -> - if (item is ChatViewModel.ChatItem.MessageItem) { - callbacks.advanceLocalLastReadMessageIfNeeded?.invoke(item.uiMessage.id) - } + state.chatItems + .firstNotNullOfOrNull { (it as? ChatViewModel.ChatItem.MessageItem)?.uiMessage?.id } + ?.let { newestId -> + callbacks.advanceLocalLastReadMessageIfNeeded?.invoke(newestId) } }