diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-20 00:34:04 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-20 00:34:04 +0300 |
| commit | ff8e5a14abe445a61dc200fd30a70870c75d183c (patch) | |
| tree | 53934152b2b7993a67c4c05ce54a58548310a7d5 /src/release_notes.rs | |
| parent | fb93e3747544afc3288d7b5e831d5ca3dd5c3768 (diff) | |
fix: stop auto-opening release notes on startup
Diffstat (limited to 'src/release_notes.rs')
| -rw-r--r-- | src/release_notes.rs | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/src/release_notes.rs b/src/release_notes.rs index dd09aaf8..aeaef0b8 100644 --- a/src/release_notes.rs +++ b/src/release_notes.rs @@ -70,22 +70,10 @@ fn load_stored_from_path(path: &Path) -> Option<StoredReleaseNotes> { serde_json::from_str(&content).ok() } -pub fn load_pending_for_current_version() -> Option<ReleaseNotes> { - load_pending_from_path(&pending_path(), env!("CARGO_PKG_VERSION")) -} - pub fn load_latest() -> Option<ReleaseNotes> { load_latest_from_path(&pending_path(), env!("CARGO_PKG_VERSION")) } -fn load_pending_from_path(path: &Path, current_version: &str) -> Option<ReleaseNotes> { - let stored = load_stored_from_path(path)?; - if stored.version != current_version || !stored.show_on_startup { - return None; - } - release_notes_from_stored(stored, current_version) -} - fn load_latest_from_path(path: &Path, current_version: &str) -> Option<ReleaseNotes> { let stored = load_stored_from_path(path)?; release_notes_from_stored(stored, current_version) @@ -240,7 +228,7 @@ mod tests { } #[test] - fn marking_current_version_seen_preserves_latest_notes_without_startup_modal() { + fn marking_current_version_seen_preserves_latest_notes() { let path = std::env::temp_dir().join(format!( "herdr-release-notes-{}-{}.json", std::process::id(), @@ -249,12 +237,10 @@ mod tests { let _ = clear_pending_at(&path); save_pending_to_path(&path, "0.3.1", "### Changed\n- One").unwrap(); - let startup = load_pending_from_path(&path, "0.3.1").expect("startup notes"); - assert!(!startup.preview); - mark_current_version_seen_at(&path, "0.3.1").unwrap(); - assert!(load_pending_from_path(&path, "0.3.1").is_none()); + let stored = load_stored_from_path(&path).expect("stored notes"); + assert!(!stored.show_on_startup); let latest = load_latest_from_path(&path, "0.3.1").expect("latest notes"); assert_eq!(latest.version, "0.3.1"); assert!(!latest.preview); @@ -263,7 +249,7 @@ mod tests { } #[test] - fn legacy_notes_without_show_on_startup_default_to_unseen() { + fn legacy_notes_without_show_on_startup_remain_available_as_latest() { let path = std::env::temp_dir().join(format!( "herdr-release-notes-{}-{}.json", std::process::id(), @@ -276,7 +262,7 @@ mod tests { ) .unwrap(); - assert!(load_pending_from_path(&path, "0.3.1").is_some()); + assert!(load_latest_from_path(&path, "0.3.1").is_some()); clear_pending_at(&path).unwrap(); } |
