From 06ba3e83998dae91e46535d73fc01dd4ad037de7 Mon Sep 17 00:00:00 2001 From: M57 <41645758+Hy4ri@users.noreply.github.com> Date: Wed, 22 Jul 2026 22:34:44 +0300 Subject: [PATCH] fix(#682): add last-item index guard to chat isAtBottom check (#685) --- .../hermescontrol/ui/chat/components/ChatScrollController.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/m57/hermescontrol/ui/chat/components/ChatScrollController.kt b/app/src/main/java/com/m57/hermescontrol/ui/chat/components/ChatScrollController.kt index 0e5ec72a..737782e8 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/chat/components/ChatScrollController.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/chat/components/ChatScrollController.kt @@ -187,9 +187,10 @@ fun LazyListState.isAtBottom(tolerance: Int = 8): Boolean { val visibleItems = layoutInfo.visibleItemsInfo if (visibleItems.isEmpty()) return true val lastItem = visibleItems.last() + if (lastItem.index < layoutInfo.totalItemsCount - 1) return false val lastBottom = lastItem.offset + lastItem.size val viewportBottom = layoutInfo.viewportEndOffset - layoutInfo.afterContentPadding - return lastBottom >= viewportBottom - tolerance + return lastBottom <= viewportBottom + tolerance } /**