From 71fea4472b80adfe62b08afbfa49860082a4c13b Mon Sep 17 00:00:00 2001 From: OneWay Date: Wed, 23 Sep 2026 09:00:00 +0800 Subject: [PATCH] fix(ui): read paging snapshot directly Replace the per-index peek loop with the item snapshot list; the loop walked the whole result set on every recomposition. --- .../com/example/research/ui/main/SearchResultsPane.kt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app/src/main/java/com/example/research/ui/main/SearchResultsPane.kt b/app/src/main/java/com/example/research/ui/main/SearchResultsPane.kt index 84ca83f..c617a92 100644 --- a/app/src/main/java/com/example/research/ui/main/SearchResultsPane.kt +++ b/app/src/main/java/com/example/research/ui/main/SearchResultsPane.kt @@ -80,13 +80,7 @@ internal fun SearchResultsPane( } } - val loaded = ArrayList(results.itemCount) - for (index in 0 until results.itemCount) { - val entry = results.peek(index) - if (entry != null) { - loaded.add(entry) - } - } + val loaded = results.itemSnapshotList.items.filterNotNull() SideEffect { if (results.loadState.refresh is LoadState.NotLoading && loaded.isNotEmpty()) { staleEntries = loaded