From 4a31612df0989e6bdc69beab21d09053c502e549 Mon Sep 17 00:00:00 2001 From: Codex Date: Mon, 9 Mar 2026 22:10:41 +0300 Subject: [PATCH] android: reset chats search query when leaving fullscreen search --- android/CHANGELOG.md | 4 ++++ .../daemonlord/messenger/ui/chats/ChatListScreen.kt | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) 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(