mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-29 00:35:38 +08:00
* refactor: improve code quality with clippy fixes and standardized logging
- Replace dangerous unwrap()/expect() calls with proper error handling
- Standardize logging from log:: to logging\! macro with Type:: classifications
- Fix app handle panics with graceful fallback patterns
- Improve error resilience across 35+ modules without breaking functionality
- Reduce clippy warnings from 300+ to 0 in main library code
* chore: update Cargo.toml configuration
* refactor: resolve all clippy warnings
- Fix Arc clone warnings using explicit Arc::clone syntax across 9 files
- Add #[allow(clippy::expect_used)] to test functions for appropriate expect usage
- Remove no-effect statements from debug code cleanup
- Apply clippy auto-fixes for dbg\! macro removals and path statements
- Achieve zero clippy warnings on all targets with -D warnings flag
* chore: update Cargo.toml clippy configuration
* refactor: simplify macOS job configuration and improve caching
* refactor: remove unnecessary async/await from service and proxy functions
* refactor: streamline pnpm installation in CI configuration
* refactor: simplify error handling and remove unnecessary else statements
* refactor: replace async/await with synchronous locks for core management
* refactor: add workflow_dispatch trigger to clippy job
* refactor: convert async functions to synchronous for service management
* refactor: convert async functions to synchronous for UWP tool invocation
* fix: change wrong logging
* refactor: convert proxy restoration functions to async
* Revert "refactor: convert proxy restoration functions to async"
This reverts commit b82f5d250b.
* refactor: update proxy restoration functions to return Result types
* fix: handle errors during proxy restoration and update async function signatures
* fix: handle errors during proxy restoration and update async function signatures
* refactor: update restore_pac_proxy and restore_sys_proxy functions to async
* fix: convert restore_pac_proxy and restore_sys_proxy functions to async
* fix: await restore_sys_proxy calls in proxy restoration logic
* fix: suppress clippy warnings for unused async functions in proxy restoration
* fix: suppress clippy warnings for unused async functions in proxy restoration
51 lines
1.4 KiB
Rust
51 lines
1.4 KiB
Rust
use super::CmdResult;
|
|
use crate::{
|
|
core::{service, CoreManager},
|
|
utils::i18n::t,
|
|
};
|
|
use anyhow::Result;
|
|
|
|
async fn execute_service_operation_sync<F, E>(service_op: F, op_type: &str) -> CmdResult
|
|
where
|
|
F: FnOnce() -> Result<(), E>,
|
|
E: ToString + std::fmt::Debug,
|
|
{
|
|
if let Err(e) = service_op() {
|
|
let emsg = format!("{} {} failed: {}", op_type, "Service", e.to_string());
|
|
return Err(t(emsg.as_str()));
|
|
}
|
|
if CoreManager::global().restart_core().await.is_err() {
|
|
let emsg = format!("{} {} failed", "Restart", "Core");
|
|
return Err(t(emsg.as_str()));
|
|
}
|
|
Ok(())
|
|
}
|
|
|
|
#[tauri::command]
|
|
pub async fn install_service() -> CmdResult {
|
|
execute_service_operation_sync(service::install_service, "Install").await
|
|
}
|
|
|
|
#[tauri::command]
|
|
pub async fn uninstall_service() -> CmdResult {
|
|
execute_service_operation_sync(service::uninstall_service, "Uninstall").await
|
|
}
|
|
|
|
#[tauri::command]
|
|
pub async fn reinstall_service() -> CmdResult {
|
|
execute_service_operation_sync(service::reinstall_service, "Reinstall").await
|
|
}
|
|
|
|
#[tauri::command]
|
|
pub async fn repair_service() -> CmdResult {
|
|
execute_service_operation_sync(service::force_reinstall_service, "Repair").await
|
|
}
|
|
|
|
#[tauri::command]
|
|
pub async fn is_service_available() -> CmdResult<bool> {
|
|
service::is_service_available()
|
|
.await
|
|
.map(|_| true)
|
|
.map_err(|e| e.to_string())
|
|
}
|