From dda0dd9d5f51d6831229de97d79c7ea843ca230e Mon Sep 17 00:00:00 2001 From: Kohei Date: Thu, 19 Feb 2026 22:22:19 +0900 Subject: [PATCH] fix: auto-scroll chat when messages exceed display limit LaunchedEffect key was based on messages.size which stays constant at INITIAL_LOAD_COUNT (50) once the DB has enough messages. Use the latest message ID instead so the effect re-fires on every new message. Co-Authored-By: Claude Opus 4.6 --- .../java/io/picoclaw/android/feature/chat/screen/ChatScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/feature/chat/src/main/java/io/picoclaw/android/feature/chat/screen/ChatScreen.kt b/android/feature/chat/src/main/java/io/picoclaw/android/feature/chat/screen/ChatScreen.kt index 7cb48a7d6..f8e9206be 100644 --- a/android/feature/chat/src/main/java/io/picoclaw/android/feature/chat/screen/ChatScreen.kt +++ b/android/feature/chat/src/main/java/io/picoclaw/android/feature/chat/screen/ChatScreen.kt @@ -146,7 +146,7 @@ fun ChatScreen( derivedStateOf { listState.firstVisibleItemIndex <= 3 } } - LaunchedEffect(uiState.messages.size) { + LaunchedEffect(uiState.messages.firstOrNull()?.id) { if (isNearBottom) { listState.animateScrollToItem(0) }