[READ-ONLY] Mirror of https://github.com/probablykasper/time-machine-inspector. Time Machine backup size inspector app
backup macos tauri time-machine
0

Configure Feed

Select the types of activity you want to include in your feed.

Ignore destinations without mount_point

Kasper (Jul 29, 2024, 11:23 PM +0200) f11de6d0 70dab4a0

+25 -19
+25 -19
src-tauri/src/destinationinfo.rs
··· 28 28 #[serde(alias = "LastDestination")] 29 29 pub last_destination: Option<usize>, 30 30 #[serde(alias = "MountPoint")] 31 - pub mount_point: String, 31 + pub mount_point: Option<String>, 32 32 } 33 33 34 34 #[derive(Serialize, Debug, Type)] ··· 58 58 59 59 let mut destinations_map = HashMap::new(); 60 60 for destination_xml in &output_xml.destinations { 61 - destinations_map.insert( 62 - destination_xml.id.clone(), 63 - Destination { 64 - backups: None, 65 - mount_point: destination_xml.mount_point.clone(), 66 - }, 67 - ); 61 + if let Some(mount_point) = &destination_xml.mount_point { 62 + destinations_map.insert( 63 + destination_xml.id.clone(), 64 + Destination { 65 + backups: None, 66 + mount_point: mount_point.clone(), 67 + }, 68 + ); 69 + } 68 70 } 69 71 state.lock()?.destinations = Some(destinations_map.clone()); 70 72 71 73 let destinations_details = output_xml 72 74 .destinations 73 75 .into_iter() 74 - .map(|dest| { 75 - let mount_point_name = if dest.mount_point.starts_with("/Volumes/") { 76 - dest.mount_point["/Volumes/".len()..].to_string() 77 - } else { 78 - dest.mount_point.clone() 79 - }; 80 - DestinationDetail { 81 - id: dest.id, 82 - mount_point: dest.mount_point, 83 - mount_point_name, 84 - } 76 + .filter_map(|dest| { 77 + let id = dest.id; // Move id out of dest to avoid borrow checker error 78 + dest.mount_point.map(|mount_point| { 79 + let mount_point_name = if mount_point.starts_with("/Volumes/") { 80 + mount_point["/Volumes/".len()..].to_string() 81 + } else { 82 + mount_point.clone() 83 + }; 84 + 85 + DestinationDetail { 86 + id, 87 + mount_point: mount_point.clone(), 88 + mount_point_name, 89 + } 90 + }) 85 91 }) 86 92 .collect(); 87 93