From 3834fd3d0f77a809cf3e394fca31fd036d3173dd Mon Sep 17 00:00:00 2001 From: JJ Liebig Date: Sun, 13 Sep 2026 21:14:00 +0400 Subject: fix: auto-expire worktree action error banners (#4063) * fix: auto-expire worktree action error banners refs #1827 * fix: restart endpoint error timeout on repeated errors Route every transient client-side action error through a setter that installs a fresh deadline, so an identical repeated message cannot inherit an older, nearly-expired deadline. refs #1827 * test: derive endpoint error expiry assertions from stored deadline refs #1827 --- src/client/shell/settings.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/client/shell/settings.rs') diff --git a/src/client/shell/settings.rs b/src/client/shell/settings.rs index 200201c5..b4474bc7 100644 --- a/src/client/shell/settings.rs +++ b/src/client/shell/settings.rs @@ -165,7 +165,7 @@ impl ClientShellState { outcome: &mut ClientShellInput, ) -> bool { if let Err(error) = crate::config::write_edit(edit) { - self.endpoint_error = Some(error); + self.set_endpoint_error(error); outcome.repaint = true; return false; } @@ -303,8 +303,8 @@ impl ClientShellState { .min(settings.integrations.len().saturating_sub(1)); } Ok(_) => { - self.endpoint_error = Some( - "endpoint returned an unexpected integration list result".into(), + self.set_endpoint_error( + "endpoint returned an unexpected integration list result", ); } Err(_) => {} -- cgit v1.2.3