|
1 | 1 | use crate::gui::GUI; |
2 | 2 | use crate::ui::{MessageType, UI}; |
3 | | -use crate::{check_regular_file, fl, utils, G_HELLO_WINDOW}; |
| 3 | +use crate::{check_regular_file, fl, G_HELLO_WINDOW}; |
4 | 4 |
|
5 | 5 | use std::fs; |
6 | 6 | use std::io::{BufRead, BufReader}; |
@@ -32,18 +32,22 @@ fn outdated_version_check(ui: &GUI, message: String) -> bool { |
32 | 32 | } |
33 | 33 |
|
34 | 34 | let response = reqwest::blocking::get("https://cachyos.org/versions.json"); |
35 | | - |
36 | 35 | if response.is_err() { |
37 | 36 | ui.show_message(MessageType::Warning, &fl!("offline-error"), message.clone()); |
38 | 37 | return false; |
39 | 38 | } |
40 | 39 |
|
41 | | - let versions = response.unwrap().json::<Versions>().unwrap(); |
| 40 | + // silently continue in case of server error |
| 41 | + let versions = response.map(|x| x.json::<Versions>().unwrap()); |
| 42 | + if let Err(vers_err) = versions { |
| 43 | + error!("Failed to fetch versions.json: {vers_err}"); |
| 44 | + return true; |
| 45 | + } |
42 | 46 |
|
43 | 47 | let latest_version = if edition_tag.contains("desktop") { |
44 | | - versions.desktop_iso_version |
| 48 | + versions.unwrap().desktop_iso_version |
45 | 49 | } else { |
46 | | - versions.handheld_iso_version |
| 50 | + versions.unwrap().handheld_iso_version |
47 | 51 | } |
48 | 52 | .trim() |
49 | 53 | .to_owned(); |
@@ -99,11 +103,9 @@ fn connectivity_check(ui: &GUI, message: String) -> bool { |
99 | 103 | ]; |
100 | 104 | for target in targets { |
101 | 105 | let ping_result = Exec::cmd("/sbin/ping").args(&["-c", "1", "-W", "3", target]).join(); |
102 | | - if let Ok(status) = ping_result { |
103 | | - if status.success() { |
104 | | - info!("Connectivity confirmed via ping to {target}"); |
105 | | - return true; |
106 | | - } |
| 106 | + if ping_result.map(|x| x.success()).is_ok() { |
| 107 | + info!("Connectivity confirmed via ping to {target}"); |
| 108 | + return true; |
107 | 109 | } |
108 | 110 | } |
109 | 111 |
|
|
0 commit comments