feat: initial and restart core checks service version if available

chore: update UPDATELOG.md
This commit is contained in:
Tunglies 2025-03-27 09:20:15 +08:00
parent 971dd6a2cf
commit a6a6d9d036
2 changed files with 17 additions and 7 deletions

View File

@ -2,14 +2,18 @@
#### 已知问题
- 仅在Ubuntu 22.04/24.04Fedora 41 **Gnome桌面环境** 做过简单测试不保证其他其他Linux发行版可用将在未来做进一步适配和调优
- Win/Mac/Linux 托盘图标缓存机制问题,无法正确切换自定义图标。
### 2.2.3-alpha 相对于 2.2.2
#### 修复了:
- 首页“当前代理”因为重复刷新导致的CPU占用过高的问题
#### 优化
- 重构了内核管理逻辑,更轻量化和有效的管理内核,提高了性能和稳定性
- 集中管理应用数据,优化数据获取和刷新逻辑
#### 新增了:
- ClashVergeRev 从现在开始不再强依赖系统服务和管理权限
#### 优化了:
- 重构了后端内核管理逻辑,更轻量化和有效的管理内核,提高了性能和稳定性
- 前端统一刷新应用数据,优化数据获取和刷新逻辑
## v2.2.2

View File

@ -480,10 +480,13 @@ impl CoreManager {
pub async fn init(&self) -> Result<()> {
logging!(trace, Type::Core, "Initializing core");
if is_service_available().await.is_ok() {
Self::global().start_core_by_service().await?;
if service::is_service_available().await.is_ok() {
if service::check_service_needs_reinstall().await {
service::reinstall_service().await?;
}
self.start_core_by_service().await?;
} else {
Self::global().start_core_by_sidecar().await?;
self.start_core_by_sidecar().await?;
}
logging!(trace, Type::Core, "Initied core");
#[cfg(target_os = "macos")]
@ -503,7 +506,10 @@ impl CoreManager {
/// 启动核心
pub async fn start_core(&self) -> Result<()> {
if is_service_available().await.is_ok() {
if service::is_service_available().await.is_ok() {
if service::check_service_needs_reinstall().await {
service::reinstall_service().await?;
}
self.start_core_by_service().await?;
} else {
self.start_core_by_sidecar().await?;