commit 029b224834e7cb463dd3cc70611b26484dac8943
parent ffe7d5cc0aacbb070924ad9658c78c628f59dd9f
Author: William Casarin <jb55@jb55.com>
Date: Tue, 6 Jan 2026 15:25:06 -0800
search: fix repeated focus on input
Changelog-Fixed: Fixed continuous search box autofocus
Fixes: 35a37245677e ("recent searches, autofocus on back / fwd nav")
Signed-off-by: William Casarin <jb55@jb55.com>
Diffstat:
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/crates/notedeck_columns/src/nav.rs b/crates/notedeck_columns/src/nav.rs
@@ -851,6 +851,7 @@ fn render_nav_body(
// says we were navigating. This means that navigating has
// stopped. Let's make sure to focus the input field
search_buffer.focus_state = FocusState::ShouldRequestFocus;
+ tracing::debug!("requesting search focus");
}
SearchView::new(&txn, app.note_options, search_buffer, &mut note_context)
diff --git a/crates/notedeck_columns/src/ui/search/mod.rs b/crates/notedeck_columns/src/ui/search/mod.rs
@@ -70,7 +70,7 @@ impl<'a, 'd> SearchView<'a, 'd> {
self.note_context.clipboard,
);
- search_resp.process(self.query);
+ search_resp.process_search_response(self.query);
let keyboard_resp = handle_keyboard_navigation(
ui,
@@ -444,11 +444,10 @@ struct SearchResponse {
}
impl SearchResponse {
- fn process(self, state: &mut SearchQueryState) {
+ fn process_search_response(self, state: &mut SearchQueryState) {
if self.requested_focus {
state.focus_state = FocusState::RequestedFocus;
- } else if state.focus_state == FocusState::RequestedFocus && !self.input_changed {
- state.focus_state = FocusState::Navigating;
+ tracing::debug!("search response: requesting focus");
}
if self.input_changed {