From d6349e363912bc9db2048889c12b0b5882d8f674 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Sun, 17 May 2026 15:30:13 +0200 Subject: [PATCH] fix(chat): Improve mark as read logic Resolves: #6059 Signed-off-by: Andy Scherzinger --- .../main/java/com/nextcloud/talk/ui/chat/ChatView.kt | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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) } }