diff --git a/android/CHANGELOG.md b/android/CHANGELOG.md index 9d76471..810fd0d 100644 --- a/android/CHANGELOG.md +++ b/android/CHANGELOG.md @@ -588,3 +588,7 @@ - red `Recent` list now reads saved history with fallback. - Connected `Очистить` action to real history cleanup in `DataStore`. - On opening a chat from search results/messages/history, the chat is now stored in recent/history. + +### Step 92 - Search filter leak fix on exit +- Fixed chats search state leak: leaving fullscreen search now resets local/global query. +- Main chats list no longer stays filtered by previous search input after returning from search mode. diff --git a/android/app/src/main/java/ru/daemonlord/messenger/ui/chats/ChatListScreen.kt b/android/app/src/main/java/ru/daemonlord/messenger/ui/chats/ChatListScreen.kt index 5202329..24dc604 100644 --- a/android/app/src/main/java/ru/daemonlord/messenger/ui/chats/ChatListScreen.kt +++ b/android/app/src/main/java/ru/daemonlord/messenger/ui/chats/ChatListScreen.kt @@ -219,7 +219,14 @@ fun ChatListScreen( ) } } else if (isSearchMode) { - IconButton(onClick = { isSearchMode = false }) { + IconButton( + onClick = { + isSearchMode = false + localSearchQuery = "" + onSearchChanged("") + onGlobalSearchChanged("") + }, + ) { Icon( imageVector = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back", @@ -322,7 +329,9 @@ fun ChatListScreen( IconButton( onClick = { isSearchMode = true - localSearchQuery = state.searchQuery + localSearchQuery = "" + onSearchChanged("") + onGlobalSearchChanged("") }, ) { Icon(