From 4c88f02646aa1a358611e5b3b37ef7a62909b8d9 Mon Sep 17 00:00:00 2001 From: Chopper <156493704+choppeh@users.noreply.github.com> Date: Sat, 3 Oct 2026 06:11:04 -0300 Subject: [PATCH] Fix race condition when updating search items in SearchViewModel (#4037) --- .../ui/browse/source/globalsearch/SearchViewModel.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchViewModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchViewModel.kt index 49e1eba97..8973c6e5f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchViewModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchViewModel.kt @@ -195,7 +195,12 @@ abstract class SearchViewModel( } private fun updateItem(source: Source, result: SearchItemResult) { - updateItems(state.value.items + (source to result)) + state.update { currentState -> + val newItems = currentState.items + (source to result) + currentState.copy( + items = newItems.toSortedMap(sortComparator(newItems)), + ) + } } fun setMigrateDialog(currentId: Long, target: Manga) {