fix: Show error only once

This commit is contained in:
Dheepak Krishnamurthy 2021-11-09 08:56:15 -07:00
parent d0f3a05de7
commit 3747aa820d

View file

@ -191,6 +191,7 @@ pub struct TaskwarriorTui {
pub projects: ProjectsState, pub projects: ProjectsState,
pub contexts: ContextsState, pub contexts: ContextsState,
pub task_version: Versioning, pub task_version: Versioning,
pub can_update: bool,
} }
impl TaskwarriorTui { impl TaskwarriorTui {
@ -266,6 +267,7 @@ impl TaskwarriorTui {
projects: ProjectsState::new(), projects: ProjectsState::new(),
contexts: ContextsState::new(), contexts: ContextsState::new(),
task_version, task_version,
can_update: true,
}; };
for c in app.config.filter.chars() { for c in app.config.filter.chars() {
@ -1614,9 +1616,13 @@ impl TaskwarriorTui {
if let Ok(imported) = import(data.as_bytes()) { if let Ok(imported) = import(data.as_bytes()) {
self.tasks = imported; self.tasks = imported;
} }
self.can_update = true;
} else { } else {
self.mode = Mode::Tasks(Action::Error); if self.can_update {
self.error = format!("Running `{:?}` failed ({}): {}", &task, output.status, error); self.mode = Mode::Tasks(Action::Error);
self.error = format!("Running `{:?}` failed ({}): {}", &task, output.status, error);
self.can_update = false;
}
} }
Ok(()) Ok(())
@ -3055,7 +3061,9 @@ impl TaskwarriorTui {
self.mode = Mode::Tasks(Action::Report); self.mode = Mode::Tasks(Action::Report);
self.filter_history.add(self.filter.as_str()); self.filter_history.add(self.filter.as_str());
// self.history_status = None; // self.history_status = None;
self.update(true)?; if self.can_update {
self.update(true)?;
}
} }
} }
Key::Char('\n') => { Key::Char('\n') => {