Scope
When the user presses / and then Esc, the filter is cleared but the cursor briefly stays in filter mode before the next render. On fast key-repeat it occasionally results in a single character bleeding through to action bindings.
What to do
- Trace through
crates/fl-tui/src/runner.rs — the on_key ↔ filter_input ↔ keys_tx interaction.
- Make ESC handling synchronous: clear
filter_input AND swallow the same tick so no action fires.
Acceptance
Hint
The two existing call sites that check state.filter_input.is_some() before/after on_key are the right place to look.
Scope
When the user presses
/and thenEsc, the filter is cleared but the cursor briefly stays in filter mode before the next render. On fast key-repeat it occasionally results in a single character bleeding through to action bindings.What to do
crates/fl-tui/src/runner.rs— theon_key↔filter_input↔keys_txinteraction.filter_inputAND swallow the same tick so no action fires.Acceptance
/+ a letter +Escnever fires the bound action for that letter.Hint
The two existing call sites that check
state.filter_input.is_some()before/afteron_keyare the right place to look.