From e7f575ca47c1e4050ce93be8a1dab1231b273a0c Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Sat, 29 Nov 2025 18:10:51 +0100 Subject: [PATCH] test2 --- src/main.rs | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index b1c55ce..699dc96 100644 --- a/src/main.rs +++ b/src/main.rs @@ -50,9 +50,17 @@ enum Event { fn handle_input_events(tx: mpsc::Sender) { loop { - match event::read().unwrap() { - event::Event::Key(key_event) => tx.send(Event::Input(key_event)).unwrap(), - _ => {} + match event::read() { + Ok(ev) => { + if let event::Event::Key(key_event) = ev { + if tx.send(Event::Input(key_event)).is_err() { + break; + } + } + } + Err(_) => { + continue; + } } } } @@ -64,7 +72,9 @@ fn run_background_thread(tx: mpsc::Sender) { thread::sleep(Duration::from_millis(100)); progress += INCREMENT; progress = progress.min(1_f64); - tx.send(Event::Progress(progress)).unwrap(); + if tx.send(Event::Progress(progress)).is_err() { + break; + } } } @@ -77,7 +87,11 @@ pub struct App { impl App { fn run(&mut self, terminal: &mut DefaultTerminal, rx: mpsc::Receiver) -> io::Result<()> { while !self.exit { - match rx.recv().unwrap() { + let event: Event = match rx.recv() { + Ok(ev) => ev, + Err(_) => break, + }; + match event { Event::Input(key_event) => self.handle_key_event(key_event)?, Event::Progress(progress) => self.background_progress = progress, }