From 4d2474226ba43b8c522723b6878295a0af76c8cc Mon Sep 17 00:00:00 2001 From: MystiPanda Date: Wed, 10 Jan 2024 17:36:35 +0800 Subject: [PATCH] refactor: cargo clippy --- src-tauri/src/cmds.rs | 4 +-- src-tauri/src/config/clash.rs | 6 ++-- src-tauri/src/config/prfitem.rs | 49 +++++++++----------------------- src-tauri/src/config/profiles.rs | 26 +++++++++-------- src-tauri/src/core/clash_api.rs | 10 +++---- src-tauri/src/core/core.rs | 8 +++--- src-tauri/src/core/handle.rs | 2 +- src-tauri/src/core/hotkey.rs | 18 ++++++------ src-tauri/src/core/sysopt.rs | 16 +++++------ src-tauri/src/core/timer.rs | 4 +-- src-tauri/src/enhance/field.rs | 10 +++---- src-tauri/src/enhance/mod.rs | 12 ++++---- src-tauri/src/enhance/script.rs | 2 +- src-tauri/src/feat.rs | 8 +++--- src-tauri/src/main.rs | 11 ++++--- src-tauri/src/utils/dirs.rs | 8 ------ src-tauri/src/utils/help.rs | 6 ++-- src-tauri/src/utils/init.rs | 12 ++++---- src-tauri/src/utils/resolve.rs | 6 ++-- 19 files changed, 96 insertions(+), 122 deletions(-) diff --git a/src-tauri/src/cmds.rs b/src-tauri/src/cmds.rs index 04b72c6e..569e9d74 100644 --- a/src-tauri/src/cmds.rs +++ b/src-tauri/src/cmds.rs @@ -219,7 +219,7 @@ pub fn open_app_dir() -> CmdResult<()> { #[tauri::command] pub fn open_core_dir() -> CmdResult<()> { let core_dir = wrap_err!(tauri::utils::platform::current_exe())?; - let core_dir = core_dir.parent().ok_or(format!("failed to get core dir"))?; + let core_dir = core_dir.parent().ok_or("failed to get core dir")?; wrap_err!(open::that(core_dir)) } @@ -252,7 +252,7 @@ pub async fn clash_api_get_proxy_delay( ) -> CmdResult { match clash_api::get_proxy_delay(name, url).await { Ok(res) => Ok(res), - Err(err) => Err(format!("{}", err.to_string())), + Err(err) => Err(err.to_string()), } } diff --git a/src-tauri/src/config/clash.rs b/src-tauri/src/config/clash.rs index 5212ede2..0632cbec 100644 --- a/src-tauri/src/config/clash.rs +++ b/src-tauri/src/config/clash.rs @@ -65,8 +65,8 @@ impl IClashTemp { let config = &self.0; ClashInfo { - port: Self::guard_mixed_port(&config), - server: Self::guard_client_ctrl(&config), + port: Self::guard_mixed_port(config), + server: Self::guard_client_ctrl(config), secret: config.get("secret").and_then(|value| match value { Value::String(val_str) => Some(val_str.clone()), Value::Bool(val_bool) => Some(val_bool.to_string()), @@ -98,7 +98,7 @@ impl IClashTemp { Some(val_str) => { let val_str = val_str.trim(); - let val = match val_str.starts_with(":") { + let val = match val_str.starts_with(':') { true => format!("127.0.0.1{val_str}"), false => val_str.to_owned(), }; diff --git a/src-tauri/src/config/prfitem.rs b/src-tauri/src/config/prfitem.rs index ff5051b4..aa5c7f8d 100644 --- a/src-tauri/src/config/prfitem.rs +++ b/src-tauri/src/config/prfitem.rs @@ -8,7 +8,7 @@ use sysproxy::Sysproxy; use super::Config; -#[derive(Debug, Clone, Deserialize, Serialize)] +#[derive(Debug, Clone, Deserialize, Serialize, Default)] pub struct PrfItem { pub uid: Option, @@ -101,24 +101,6 @@ impl PrfOption { } } -impl Default for PrfItem { - fn default() -> Self { - PrfItem { - uid: None, - itype: None, - name: None, - desc: None, - file: None, - url: None, - selected: None, - extra: None, - updated: None, - option: None, - file_data: None, - } - } -} - impl PrfItem { /// From partial item /// must contain `itype` @@ -188,7 +170,7 @@ impl PrfItem { let opt_ref = option.as_ref(); let with_proxy = opt_ref.map_or(false, |o| o.with_proxy.unwrap_or(false)); let self_proxy = opt_ref.map_or(false, |o| o.self_proxy.unwrap_or(false)); - let user_agent = opt_ref.map_or(None, |o| o.user_agent.clone()); + let user_agent = opt_ref.and_then(|o| o.user_agent.clone()); let mut builder = reqwest::ClientBuilder::new().use_rustls_tls().no_proxy(); @@ -213,27 +195,24 @@ impl PrfItem { } // 使用系统代理 else if with_proxy { - match Sysproxy::get_system_proxy() { - Ok(p @ Sysproxy { enable: true, .. }) => { - let proxy_scheme = format!("http://{}:{}", p.host, p.port); + if let Ok(p @ Sysproxy { enable: true, .. }) = Sysproxy::get_system_proxy() { + let proxy_scheme = format!("http://{}:{}", p.host, p.port); - if let Ok(proxy) = reqwest::Proxy::http(&proxy_scheme) { - builder = builder.proxy(proxy); - } - if let Ok(proxy) = reqwest::Proxy::https(&proxy_scheme) { - builder = builder.proxy(proxy); - } - if let Ok(proxy) = reqwest::Proxy::all(&proxy_scheme) { - builder = builder.proxy(proxy); - } + if let Ok(proxy) = reqwest::Proxy::http(&proxy_scheme) { + builder = builder.proxy(proxy); } - _ => {} - }; + if let Ok(proxy) = reqwest::Proxy::https(&proxy_scheme) { + builder = builder.proxy(proxy); + } + if let Ok(proxy) = reqwest::Proxy::all(&proxy_scheme) { + builder = builder.proxy(proxy); + } + } } let version = match VERSION.get() { Some(v) => format!("clash-verge/v{}", v), - None => format!("clash-verge/unknown"), + None => "clash-verge/unknown".to_string(), }; builder = builder.user_agent(user_agent.unwrap_or(version)); diff --git a/src-tauri/src/config/profiles.rs b/src-tauri/src/config/profiles.rs index c28858dd..b7d15f87 100644 --- a/src-tauri/src/config/profiles.rs +++ b/src-tauri/src/config/profiles.rs @@ -37,13 +37,13 @@ impl IProfiles { profiles.items = Some(vec![]); } // compatible with the old old old version - profiles.items.as_mut().map(|items| { + if let Some(items) = profiles.items.as_mut() { for item in items.iter_mut() { if item.uid.is_none() { item.uid = Some(help::get_uid("d")); } } - }); + } profiles } Err(err) => { @@ -152,17 +152,19 @@ impl IProfiles { self.items = Some(vec![]); } - self.items.as_mut().map(|items| items.push(item)); + if let Some(items) = self.items.as_mut() { + items.push(item) + } self.save_file() } /// reorder items pub fn reorder(&mut self, active_id: String, over_id: String) -> Result<()> { - let mut items = self.items.take().unwrap_or(vec![]); + let mut items = self.items.take().unwrap_or_default(); let mut old_index = None; let mut new_index = None; - for i in 0..items.len() { + for (i, _) in items.iter().enumerate() { if items[i].uid == Some(active_id.clone()) { old_index = Some(i); } @@ -182,7 +184,7 @@ impl IProfiles { /// update the item value pub fn patch_item(&mut self, uid: String, item: PrfItem) -> Result<()> { - let mut items = self.items.take().unwrap_or(vec![]); + let mut items = self.items.take().unwrap_or_default(); for each in items.iter_mut() { if each.uid == Some(uid.clone()) { @@ -255,11 +257,11 @@ impl IProfiles { let current = self.current.as_ref().unwrap_or(&uid); let current = current.clone(); - let mut items = self.items.take().unwrap_or(vec![]); + let mut items = self.items.take().unwrap_or_default(); let mut index = None; // get the index - for i in 0..items.len() { + for (i, _) in items.iter().enumerate() { if items[i].uid == Some(uid.clone()) { index = Some(i); break; @@ -267,19 +269,19 @@ impl IProfiles { } if let Some(index) = index { - items.remove(index).file.map(|file| { + if let Some(file) = items.remove(index).file { let _ = dirs::app_profiles_dir().map(|path| { let path = path.join(file); if path.exists() { let _ = fs::remove_file(path); } }); - }); + } } // delete the original uid if current == uid { - self.current = match items.len() > 0 { + self.current = match !items.is_empty() { true => items[0].uid.clone(), false => None, }; @@ -299,7 +301,7 @@ impl IProfiles { Some(file) => dirs::app_profiles_dir()?.join(file), None => bail!("failed to get the file field"), }; - return Ok(help::read_merge_mapping(&file_path)?); + return help::read_merge_mapping(&file_path); } bail!("failed to find the current profile \"uid:{current}\""); } diff --git a/src-tauri/src/core/clash_api.rs b/src-tauri/src/core/clash_api.rs index be5085e7..6d4668e3 100644 --- a/src-tauri/src/core/clash_api.rs +++ b/src-tauri/src/core/clash_api.rs @@ -83,12 +83,12 @@ fn clash_client_info() -> Result<(String, HeaderMap)> { /// 缩短clash的日志 pub fn parse_log(log: String) -> String { if log.starts_with("time=") && log.len() > 33 { - return (&log[33..]).to_owned(); + return (log[33..]).to_owned(); } if log.len() > 9 { - return (&log[9..]).to_owned(); + return (log[9..]).to_owned(); } - return log; + log } /// 缩短clash -t的错误输出 @@ -105,7 +105,7 @@ pub fn parse_check_output(log: String) -> String { }; if mr > m { - return (&log[e..mr]).to_owned(); + return (log[e..mr]).to_owned(); } } @@ -113,7 +113,7 @@ pub fn parse_check_output(log: String) -> String { let r = log.find("path=").or(Some(log.len())); if let (Some(l), Some(r)) = (l, r) { - return (&log[(l + 6)..(r - 1)]).to_owned(); + return (log[(l + 6)..(r - 1)]).to_owned(); } log diff --git a/src-tauri/src/core/core.rs b/src-tauri/src/core/core.rs index cc4b3798..61dddcfe 100644 --- a/src-tauri/src/core/core.rs +++ b/src-tauri/src/core/core.rs @@ -35,12 +35,12 @@ impl CoreManager { .map(|pid| { let mut system = System::new(); system.refresh_all(); - system.process(Pid::from_u32(pid)).map(|proc| { + if let Some(proc) = system.process(Pid::from_u32(pid)) { if proc.name().contains("clash") { log::debug!(target: "app", "kill old clash process"); proc.kill(); } - }); + } }); tauri::async_runtime::spawn(async { @@ -68,7 +68,7 @@ impl CoreManager { if !output.status.success() { let error = clash_api::parse_check_output(output.stdout.clone()); - let error = match error.len() > 0 { + let error = match !error.is_empty() { true => error, false => output.stdout.clone(), }; @@ -110,7 +110,7 @@ impl CoreManager { use super::win_service; // 服务模式 - let enable = { Config::verge().latest().enable_service_mode.clone() }; + let enable = { Config::verge().latest().enable_service_mode }; let enable = enable.unwrap_or(false); *self.use_service_mode.lock() = enable; diff --git a/src-tauri/src/core/handle.rs b/src-tauri/src/core/handle.rs index 5b46cea7..d12d4591 100644 --- a/src-tauri/src/core/handle.rs +++ b/src-tauri/src/core/handle.rs @@ -28,7 +28,7 @@ impl Handle { self.app_handle .lock() .as_ref() - .map_or(None, |a| a.get_window("main")) + .and_then(|a| a.get_window("main")) } pub fn refresh_clash() { diff --git a/src-tauri/src/core/hotkey.rs b/src-tauri/src/core/hotkey.rs index 90cbf961..ea62d7b6 100644 --- a/src-tauri/src/core/hotkey.rs +++ b/src-tauri/src/core/hotkey.rs @@ -65,17 +65,17 @@ impl Hotkey { } let f = match func.trim() { - "open_dashboard" => || feat::open_dashboard(), + "open_dashboard" => feat::open_dashboard, "clash_mode_rule" => || feat::change_clash_mode("rule".into()), "clash_mode_global" => || feat::change_clash_mode("global".into()), "clash_mode_direct" => || feat::change_clash_mode("direct".into()), "clash_mode_script" => || feat::change_clash_mode("script".into()), - "toggle_system_proxy" => || feat::toggle_system_proxy(), - "enable_system_proxy" => || feat::enable_system_proxy(), - "disable_system_proxy" => || feat::disable_system_proxy(), - "toggle_tun_mode" => || feat::toggle_tun_mode(), - "enable_tun_mode" => || feat::enable_tun_mode(), - "disable_tun_mode" => || feat::disable_tun_mode(), + "toggle_system_proxy" => feat::toggle_system_proxy, + "enable_system_proxy" => feat::enable_system_proxy, + "disable_system_proxy" => feat::disable_system_proxy, + "toggle_tun_mode" => feat::toggle_tun_mode, + "enable_tun_mode" => feat::enable_tun_mode, + "disable_tun_mode" => feat::disable_tun_mode, _ => bail!("invalid function \"{func}\""), }; @@ -86,7 +86,7 @@ impl Hotkey { } fn unregister(&self, hotkey: &str) -> Result<()> { - self.get_manager()?.unregister(&hotkey)?; + self.get_manager()?.unregister(hotkey)?; log::info!(target: "app", "unregister hotkey {hotkey}"); Ok(()) } @@ -110,7 +110,7 @@ impl Hotkey { Ok(()) } - fn get_map_from_vec<'a>(hotkeys: &'a Vec) -> HashMap<&'a str, &'a str> { + fn get_map_from_vec(hotkeys: &Vec) -> HashMap<&str, &str> { let mut map = HashMap::new(); hotkeys.iter().for_each(|hotkey| { diff --git a/src-tauri/src/core/sysopt.rs b/src-tauri/src/core/sysopt.rs index 821a42e1..965552c3 100644 --- a/src-tauri/src/core/sysopt.rs +++ b/src-tauri/src/core/sysopt.rs @@ -53,7 +53,7 @@ impl Sysopt { let verge = Config::verge(); let verge = verge.latest(); ( - verge.enable_system_proxy.clone().unwrap_or(false), + verge.enable_system_proxy.unwrap_or(false), verge.system_proxy_bypass.clone(), ) }; @@ -66,7 +66,7 @@ impl Sysopt { }; if enable { - let old = Sysproxy::get_system_proxy().map_or(None, |p| Some(p)); + let old = Sysproxy::get_system_proxy().ok(); current.set_system_proxy()?; *self.old_sysproxy.lock() = old; @@ -93,7 +93,7 @@ impl Sysopt { let verge = Config::verge(); let verge = verge.latest(); ( - verge.enable_system_proxy.clone().unwrap_or(false), + verge.enable_system_proxy.unwrap_or(false), verge.system_proxy_bypass.clone(), ) }; @@ -142,7 +142,7 @@ impl Sysopt { /// init the auto launch pub fn init_launch(&self) -> Result<()> { - let enable = { Config::verge().latest().enable_auto_launch.clone() }; + let enable = { Config::verge().latest().enable_auto_launch }; let enable = enable.unwrap_or(false); let app_exe = current_exe()?; @@ -233,7 +233,7 @@ impl Sysopt { drop(auto_launch); return self.init_launch(); } - let enable = { Config::verge().latest().enable_auto_launch.clone() }; + let enable = { Config::verge().latest().enable_auto_launch }; let enable = enable.unwrap_or(false); let auto_launch = auto_launch.as_ref().unwrap(); @@ -271,9 +271,9 @@ impl Sysopt { let verge = Config::verge(); let verge = verge.latest(); ( - verge.enable_system_proxy.clone().unwrap_or(false), - verge.enable_proxy_guard.clone().unwrap_or(false), - verge.proxy_guard_duration.clone().unwrap_or(10), + verge.enable_system_proxy.unwrap_or(false), + verge.enable_proxy_guard.unwrap_or(false), + verge.proxy_guard_duration.unwrap_or(10), verge.system_proxy_bypass.clone(), ) }; diff --git a/src-tauri/src/core/timer.rs b/src-tauri/src/core/timer.rs index 1b40f0fa..dd45da7f 100644 --- a/src-tauri/src/core/timer.rs +++ b/src-tauri/src/core/timer.rs @@ -40,7 +40,7 @@ impl Timer { let timer_map = self.timer_map.lock(); let delay_timer = self.delay_timer.lock(); - Config::profiles().latest().get_items().map(|items| { + if let Some(items) = Config::profiles().latest().get_items() { items .iter() .filter_map(|item| { @@ -61,7 +61,7 @@ impl Timer { } } }) - }); + } Ok(()) } diff --git a/src-tauri/src/enhance/field.rs b/src-tauri/src/enhance/field.rs index aa3fda8a..c9ce0435 100644 --- a/src-tauri/src/enhance/field.rs +++ b/src-tauri/src/enhance/field.rs @@ -114,9 +114,9 @@ pub fn use_sort(config: Mapping, enable_filter: bool) -> Mapping { .chain(DEFAULT_FIELDS) .for_each(|key| { let key = Value::from(key); - config.get(&key).map(|value| { + if let Some(value) = config.get(&key) { ret.insert(key, value.clone()); - }); + } }); if !enable_filter { @@ -134,9 +134,9 @@ pub fn use_sort(config: Mapping, enable_filter: bool) -> Mapping { config_keys.difference(&supported_keys).for_each(|&key| { let key = Value::from(key); - config.get(&key).map(|value| { + if let Some(value) = config.get(&key) { ret.insert(key, value.clone()); - }); + } }); } @@ -150,7 +150,7 @@ pub fn use_keys(config: &Mapping) -> Vec { .map(|s| { let mut s = s.to_string(); s.make_ascii_lowercase(); - return s; + s }) .collect() } diff --git a/src-tauri/src/enhance/mod.rs b/src-tauri/src/enhance/mod.rs index ec093319..9a163547 100644 --- a/src-tauri/src/enhance/mod.rs +++ b/src-tauri/src/enhance/mod.rs @@ -27,9 +27,9 @@ pub fn enhance() -> (Mapping, Vec, HashMap) { let verge = verge.latest(); ( verge.clash_core.clone(), - verge.enable_tun_mode.clone().unwrap_or(false), - verge.enable_builtin_enhanced.clone().unwrap_or(true), - verge.enable_clash_fields.clone().unwrap_or(true), + verge.enable_tun_mode.unwrap_or(false), + verge.enable_builtin_enhanced.unwrap_or(true), + verge.enable_clash_fields.unwrap_or(true), ) }; @@ -38,18 +38,18 @@ pub fn enhance() -> (Mapping, Vec, HashMap) { let profiles = Config::profiles(); let profiles = profiles.latest(); - let current = profiles.current_mapping().unwrap_or(Mapping::new()); + let current = profiles.current_mapping().unwrap_or_default(); let chain = match profiles.chain.as_ref() { Some(chain) => chain .iter() .filter_map(|uid| profiles.get_item(uid).ok()) - .filter_map(|item| >::from(item)) + .filter_map(>::from) .collect::>(), None => vec![], }; - let valid = profiles.valid.clone().unwrap_or(vec![]); + let valid = profiles.valid.clone().unwrap_or_default(); (current, chain, valid) }; diff --git a/src-tauri/src/enhance/script.rs b/src-tauri/src/enhance/script.rs index 6c207d92..30a922f6 100644 --- a/src-tauri/src/enhance/script.rs +++ b/src-tauri/src/enhance/script.rs @@ -47,7 +47,7 @@ pub fn use_script(script: String, config: Mapping) -> Result<(Mapping, Vec<(Stri if result == "\"\"" { anyhow::bail!("main function should return object"); } - return Ok(serde_json::from_str::(result.as_str())?); + Ok(serde_json::from_str::(result.as_str())?) }); let mut out = outputs.lock().unwrap(); diff --git a/src-tauri/src/feat.rs b/src-tauri/src/feat.rs index 78bdac77..0e8a9eb9 100644 --- a/src-tauri/src/feat.rs +++ b/src-tauri/src/feat.rs @@ -62,7 +62,7 @@ pub fn change_clash_mode(mode: String) { // 切换系统代理 pub fn toggle_system_proxy() { - let enable = Config::verge().draft().enable_system_proxy.clone(); + let enable = Config::verge().draft().enable_system_proxy; let enable = enable.unwrap_or(false); tauri::async_runtime::spawn(async move { @@ -110,7 +110,7 @@ pub fn disable_system_proxy() { // 切换tun模式 pub fn toggle_tun_mode() { - let enable = Config::verge().data().enable_tun_mode.clone(); + let enable = Config::verge().data().enable_tun_mode; let enable = enable.unwrap_or(false); tauri::async_runtime::spawn(async move { @@ -164,14 +164,14 @@ pub async fn patch_clash(patch: Mapping) -> Result<()> { let mixed_port = patch.get("mixed-port"); let enable_random_port = Config::verge().latest().enable_random_port.unwrap_or(false); if mixed_port.is_some() && !enable_random_port { - let changed = mixed_port.clone().unwrap() + let changed = mixed_port.unwrap() != Config::verge() .latest() .verge_mixed_port .unwrap_or(Config::clash().data().get_mixed_port()); // 检查端口占用 if changed { - if let Some(port) = mixed_port.clone().unwrap().as_u64() { + if let Some(port) = mixed_port.unwrap().as_u64() { if !port_scanner::local_port_available(port as u16) { Config::clash().discard(); bail!("port already in use"); diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index abe9a275..be57c645 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -25,7 +25,10 @@ fn main() -> std::io::Result<()> { #[allow(unused_mut)] let mut builder = tauri::Builder::default() .system_tray(SystemTray::new()) - .setup(|app| Ok(resolve::resolve_setup(app))) + .setup(|app| { + resolve::resolve_setup(app); + Ok(()) + }) .on_system_tray_event(core::tray::Tray::on_system_tray_event) .invoke_handler(tauri::generate_handler![ // common @@ -133,13 +136,13 @@ fn main() -> std::io::Result<()> { if label == "main" { match event { tauri::WindowEvent::Destroyed => { - let _ = resolve::save_window_size_position(&app_handle, true); + let _ = resolve::save_window_size_position(app_handle, true); } tauri::WindowEvent::CloseRequested { .. } => { - let _ = resolve::save_window_size_position(&app_handle, true); + let _ = resolve::save_window_size_position(app_handle, true); } tauri::WindowEvent::Moved(_) | tauri::WindowEvent::Resized(_) => { - let _ = resolve::save_window_size_position(&app_handle, false); + let _ = resolve::save_window_size_position(app_handle, false); } _ => {} } diff --git a/src-tauri/src/utils/dirs.rs b/src-tauri/src/utils/dirs.rs index 806f4059..43b406dc 100644 --- a/src-tauri/src/utils/dirs.rs +++ b/src-tauri/src/utils/dirs.rs @@ -92,14 +92,6 @@ pub fn clash_pid_path() -> Result { Ok(app_home_dir()?.join("clash.pid")) } -#[cfg(target_os = "linux")] -pub fn local_applications_dir() -> Result { - use tauri::api::path::home_dir; - Ok(home_dir() - .ok_or(anyhow::anyhow!("failed to get home dir"))? - .join(".local/share/applications")) -} - #[cfg(windows)] pub fn service_dir() -> Result { Ok(app_home_dir()?.join("service")) diff --git a/src-tauri/src/utils/help.rs b/src-tauri/src/utils/help.rs index 481d5772..39e3e2f6 100644 --- a/src-tauri/src/utils/help.rs +++ b/src-tauri/src/utils/help.rs @@ -14,7 +14,7 @@ pub fn read_yaml(path: &PathBuf) -> Result { bail!("file not found \"{}\"", path.display()); } - let yaml_str = fs::read_to_string(&path) + let yaml_str = fs::read_to_string(path) .with_context(|| format!("failed to read the file \"{}\"", path.display()))?; serde_yaml::from_str::(&yaml_str).with_context(|| { @@ -89,11 +89,11 @@ pub fn open_file(app: tauri::AppHandle, path: PathBuf) -> Result<()> { let code = "code"; let _ = match Program::from_str(code) { - Ok(code) => open(&app.shell_scope(), &path.to_string_lossy(), Some(code)), + Ok(code) => open(&app.shell_scope(), path.to_string_lossy(), Some(code)), Err(err) => { log::error!(target: "app", "Can't find VScode `{err}`"); // default open - open(&app.shell_scope(), &path.to_string_lossy(), None) + open(&app.shell_scope(), path.to_string_lossy(), None) } }; diff --git a/src-tauri/src/utils/init.rs b/src-tauri/src/utils/init.rs index 051ac90c..595f389a 100644 --- a/src-tauri/src/utils/init.rs +++ b/src-tauri/src/utils/init.rs @@ -79,7 +79,7 @@ pub fn delete_log() -> Result<()> { let auto_log_clean = { let verge = Config::verge(); let verge = verge.data(); - verge.auto_log_clean.clone().unwrap_or(0) + verge.auto_log_clean.unwrap_or(0) }; let day = match auto_log_clean { @@ -130,10 +130,8 @@ pub fn delete_log() -> Result<()> { Ok(()) }; - for file in fs::read_dir(&log_dir)? { - if let Ok(file) = file { - let _ = process_file(file); - } + for file in fs::read_dir(&log_dir)?.flatten() { + let _ = process_file(file); } Ok(()) } @@ -310,14 +308,14 @@ pub fn init_scheme() -> Result<()> { let app_exe = current_exe()?; let app_exe = dunce::canonicalize(app_exe)?; - let app_exe = app_exe.to_string_lossy().to_owned(); + let app_exe = app_exe.to_string_lossy().into_owned(); let hkcu = RegKey::predef(HKEY_CURRENT_USER); let (clash, _) = hkcu.create_subkey("Software\\Classes\\Clash")?; clash.set_value("", &"Clash Verge")?; clash.set_value("URL Protocol", &"Clash Verge URL Scheme Protocol")?; let (default_icon, _) = hkcu.create_subkey("Software\\Classes\\Clash\\DefaultIcon")?; - default_icon.set_value("", &format!("{app_exe}"))?; + default_icon.set_value("", &app_exe)?; let (command, _) = hkcu.create_subkey("Software\\Classes\\Clash\\Shell\\Open\\Command")?; command.set_value("", &format!("{app_exe} \"%1\""))?; diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index 75a6dca7..3cd4867d 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -86,7 +86,7 @@ pub fn resolve_setup(app: &mut App) { log::trace!("init system tray"); log_err!(tray::Tray::update_systray(&app.app_handle())); - let silent_start = { Config::verge().data().enable_silent_start.clone() }; + let silent_start = { Config::verge().data().enable_silent_start }; if !silent_start.unwrap_or(false) { create_window(&app.app_handle()); } @@ -249,8 +249,8 @@ pub async fn resolve_scheme(param: String) { self_proxy: None, update_interval: None, }; - if let Ok(item) = PrfItem::from_url(&url, None, None, Some(option)).await { - if let Ok(_) = Config::profiles().data().append_item(item) { + if let Ok(item) = PrfItem::from_url(url, None, None, Some(option)).await { + if Config::profiles().data().append_item(item).is_ok() { notification::Notification::new(crate::utils::dirs::APP_ID) .title("Clash Verge") .body("Import profile success")