aboutsummaryrefslogtreecommitdiff
path: root/src/app/actions.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-04-16 01:09:25 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-04-16 01:09:25 +0300
commitef1c6b1497fd0ad26e9d32f301ffb801cb96aa40 (patch)
treef80cbb5fc67eb2796c932a9fdd5315ce3d21d18e /src/app/actions.rs
parentd76a5b8cec72b420b340a13ea186ea169b39b69e (diff)
fix: switch updates to manual preview flow
Diffstat (limited to 'src/app/actions.rs')
-rw-r--r--src/app/actions.rs22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/app/actions.rs b/src/app/actions.rs
index fcdeff92..ffb41ba1 100644
--- a/src/app/actions.rs
+++ b/src/app/actions.rs
@@ -481,8 +481,8 @@ impl AppState {
self.update_dismissed = true;
self.toast = Some(ToastNotification {
kind: ToastKind::UpdateInstalled,
- title: format!("updated to v{version}"),
- context: "restart to use it".to_string(),
+ title: format!("v{version} available"),
+ context: "run `herdr update`".to_string(),
});
Vec::new()
}
@@ -1009,6 +1009,24 @@ mod tests {
}
#[test]
+ fn update_ready_sets_manual_update_toast() {
+ let mut state = AppState::test_new();
+
+ let updates = state.handle_app_event(AppEvent::UpdateReady {
+ version: "0.5.0".into(),
+ });
+
+ assert!(updates.is_empty());
+ assert_eq!(state.update_available.as_deref(), Some("0.5.0"));
+ assert!(state.latest_release_notes_available);
+ assert!(state.update_dismissed);
+ let toast = state.toast.as_ref().expect("update toast");
+ assert_eq!(toast.kind, ToastKind::UpdateInstalled);
+ assert_eq!(toast.title, "v0.5.0 available");
+ assert_eq!(toast.context, "run `herdr update`");
+ }
+
+ #[test]
fn toggle_fullscreen_works() {
let mut state = app_with_workspaces(&["test"]);
state.workspaces[0].test_split(Direction::Horizontal);