fix: allow legacy terminal keyboard reporting - #3772
Conversation
|
|
||
| #[cfg(not(target_os = "windows"))] | ||
| if let Some(flags) = stdout.keyboard_enhancement.flags_to_push() { | ||
| execute!(stdout.writer, PushKeyboardEnhancementFlags(flags))?; |
There was a problem hiding this comment.
Push failure skips terminal cleanup
When writing PushKeyboardEnhancementFlags fails, Stdout::new returns after raw mode, alternate-screen, mouse, and bracketed-paste setup but before Stdout reaches its caller, so its cleanup Drop never runs and the shell remains in a corrupted terminal state.
Knowledge Base Used: CLI entrypoint (atuin binary)
Greptile SummaryAdds a Confidence Score: 3/5The terminal cleanup failure on keyboard-enhancement setup needs to be fixed before merging. The new fallible keyboard-enhancement push occurs after terminal modes are enabled, and returning from that operation bypasses the cleanup guard that would restore the shell. Files Needing Attention: crates/atuin/src/command/client/search/interactive.rs Important Files Changed
Reviews (1): Last reviewed commit: "fix: allow legacy terminal keyboard repo..." | Re-trigger Greptile |
Checks
Fixes #2559