feat(desktop): 1s debounce + auto-save search history on collapse

- Increase relay query debounce from 300ms to 1000ms for inline search
  (reduces unnecessary relay load while typing)
- Save query to SearchHistoryStore when search collapses (if non-empty)
- SearchHistoryStore.addToHistory() already deduplicates by serialized query

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
nrobi144
2026-05-29 07:02:51 +03:00
co-authored by Claude Opus 4.6
parent 28e8fc627e
commit 956eee67d7
@@ -828,7 +828,7 @@ private fun FeedTabsHeader(
val pinnedFeeds by feedRepo.pinnedFeeds.collectAsState()
val sidePadding = LocalReadingSidePadding.current
val scope = rememberCoroutineScope()
val searchState = remember { AdvancedSearchBarState(scope) }
val searchState = remember { AdvancedSearchBarState(scope, debounceMs = 1000L) }
var searchText by remember { mutableStateOf(TextFieldValue("")) }
val focusRequester = remember { FocusRequester() }
val focusManager = LocalFocusManager.current
@@ -841,9 +841,13 @@ private fun FeedTabsHeader(
searchState.updateFromText(searchText.text)
}
// Clear on collapse
// Save to history + clear on collapse
LaunchedEffect(searchExpanded) {
if (!searchExpanded) {
val query = searchState.query.value
if (!query.isEmpty) {
SearchHistoryStore.addToHistory(query)
}
searchText = TextFieldValue("")
searchState.clearSearch()
}