refactor: clash-verge-rev-service-ipc (#4841)
* feat: update service installation scripts and IPC integration - Updated `Cargo.toml` to use version 2.0.8 of `clash_verge_service_ipc` with "client" feature. - Renamed service installation and uninstallation scripts in `post-install.sh` and `pre-remove.sh`. - Removed `service_ipc` module and refactored IPC handling in `service.rs` to use the new `clash_verge_service_ipc` directly. - Adjusted service version checking and core management to align with the new IPC structure. - Simplified directory checks in `dirs.rs` and updated logging configurations in `init.rs`. - Updated Linux configuration file to reflect new script names. - Enhanced service installer hook to manage state more effectively. * refactor: simplify ClashConfig instantiation and remove unused service log file function * feat: update clash_verge_service_ipc to version 2.0.9 and enhance service initialization logging * chore: update clash_verge_service_ipc to version 2.0.10 and refactor async service manager initialization * fix: update clash_verge_service_ipc to version 2.0.11 and improve service manager initialization * fix: increase sleep duration for socket readiness check to improve stability * fix: update clash_verge_service_ipc to version 2.0.12 and kode-bridge to version 0.3.4; refactor service management and IPC path checks * fix: update clash_verge_service_ipc to version 2.0.13; refactor service connection and initialization logic
This commit is contained in:
@@ -870,7 +870,6 @@ impl CoreManager {
|
||||
}
|
||||
|
||||
pub async fn prestart_core(&self) -> Result<()> {
|
||||
SERVICE_MANAGER.lock().await.refresh().await?;
|
||||
match SERVICE_MANAGER.lock().await.current() {
|
||||
ServiceStatus::Ready => {
|
||||
self.set_running_mode(RunningMode::Service);
|
||||
@@ -912,6 +911,9 @@ impl CoreManager {
|
||||
pub async fn restart_core(&self) -> Result<()> {
|
||||
logging!(info, Type::Core, "Restarting core");
|
||||
self.stop_core().await?;
|
||||
if SERVICE_MANAGER.lock().await.init().await.is_ok() {
|
||||
logging_error!(Type::Setup, SERVICE_MANAGER.lock().await.refresh().await);
|
||||
}
|
||||
self.start_core().await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user