mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-10-14 21:20:48 +08:00
chore: rust related config for workspace (#5912)
* chore: move rust related config to workspace * chore: cargo fmt
This commit is contained in:
@@ -104,8 +104,7 @@ pub fn bench_draft(c: &mut Criterion) {
|
|||||||
let draft = black_box(make_draft());
|
let draft = black_box(make_draft());
|
||||||
let _: Result<(), anyhow::Error> = draft
|
let _: Result<(), anyhow::Error> = draft
|
||||||
.with_data_modify::<_, _, _>(|mut box_data| async move {
|
.with_data_modify::<_, _, _>(|mut box_data| async move {
|
||||||
box_data.enable_auto_launch =
|
box_data.enable_auto_launch = Some(!box_data.enable_auto_launch.unwrap_or(false));
|
||||||
Some(!box_data.enable_auto_launch.unwrap_or(false));
|
|
||||||
Ok((box_data, ()))
|
Ok((box_data, ()))
|
||||||
})
|
})
|
||||||
.await;
|
.await;
|
||||||
|
|||||||
@@ -133,10 +133,7 @@ mod tests {
|
|||||||
let prev_draft_ptr = std::sync::Arc::as_ptr(&draft_after_first_edit);
|
let prev_draft_ptr = std::sync::Arc::as_ptr(&draft_after_first_edit);
|
||||||
draft.apply();
|
draft.apply();
|
||||||
let committed_after_apply = draft.data_arc();
|
let committed_after_apply = draft.data_arc();
|
||||||
assert_eq!(
|
assert_eq!(std::sync::Arc::as_ptr(&committed_after_apply), prev_draft_ptr);
|
||||||
std::sync::Arc::as_ptr(&committed_after_apply),
|
|
||||||
prev_draft_ptr
|
|
||||||
);
|
|
||||||
|
|
||||||
// 第二次编辑:此时草稿唯一持有(无其它引用),不应再克隆
|
// 第二次编辑:此时草稿唯一持有(无其它引用),不应再克隆
|
||||||
// 获取草稿 Arc 的指针并立即丢弃本地引用,避免增加 strong_count
|
// 获取草稿 Arc 的指针并立即丢弃本地引用,避免增加 strong_count
|
||||||
|
|||||||
@@ -93,11 +93,7 @@ pub fn write_sidecar_log(
|
|||||||
) {
|
) {
|
||||||
let args = format_args!("{}", message);
|
let args = format_args!("{}", message);
|
||||||
|
|
||||||
let record = Record::builder()
|
let record = Record::builder().args(args).level(level).target("sidecar").build();
|
||||||
.args(args)
|
|
||||||
.level(level)
|
|
||||||
.target("sidecar")
|
|
||||||
.build();
|
|
||||||
|
|
||||||
let _ = writer.write(now, &record);
|
let _ = writer.write(now, &record);
|
||||||
}
|
}
|
||||||
@@ -111,9 +107,7 @@ impl<'a> NoModuleFilter<'a> {
|
|||||||
pub fn filter(&self, record: &Record) -> bool {
|
pub fn filter(&self, record: &Record) -> bool {
|
||||||
if let Some(module) = record.module_path() {
|
if let Some(module) = record.module_path() {
|
||||||
for blocked in self.0 {
|
for blocked in self.0 {
|
||||||
if module.len() >= blocked.len()
|
if module.len() >= blocked.len() && module.as_bytes()[..blocked.len()] == blocked.as_bytes()[..] {
|
||||||
&& module.as_bytes()[..blocked.len()] == blocked.as_bytes()[..]
|
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,36 +17,21 @@ where
|
|||||||
let mut sigterm = match signal(SignalKind::terminate()) {
|
let mut sigterm = match signal(SignalKind::terminate()) {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
logging!(
|
logging!(error, Type::SystemSignal, "Failed to register SIGTERM: {}", e);
|
||||||
error,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Failed to register SIGTERM: {}",
|
|
||||||
e
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let mut sigint = match signal(SignalKind::interrupt()) {
|
let mut sigint = match signal(SignalKind::interrupt()) {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
logging!(
|
logging!(error, Type::SystemSignal, "Failed to register SIGINT: {}", e);
|
||||||
error,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Failed to register SIGINT: {}",
|
|
||||||
e
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let mut sighup = match signal(SignalKind::hangup()) {
|
let mut sighup = match signal(SignalKind::hangup()) {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
logging!(
|
logging!(error, Type::SystemSignal, "Failed to register SIGHUP: {}", e);
|
||||||
error,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Failed to register SIGHUP: {}",
|
|
||||||
e
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17,12 +17,7 @@ where
|
|||||||
let mut ctrl_c = match windows::ctrl_c() {
|
let mut ctrl_c = match windows::ctrl_c() {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
logging!(
|
logging!(error, Type::SystemSignal, "Failed to register Ctrl+C: {}", e);
|
||||||
error,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Failed to register Ctrl+C: {}",
|
|
||||||
e
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -30,12 +25,7 @@ where
|
|||||||
let mut ctrl_close = match windows::ctrl_close() {
|
let mut ctrl_close = match windows::ctrl_close() {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
logging!(
|
logging!(error, Type::SystemSignal, "Failed to register Ctrl+Close: {}", e);
|
||||||
error,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Failed to register Ctrl+Close: {}",
|
|
||||||
e
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -43,12 +33,7 @@ where
|
|||||||
let mut ctrl_shutdown = match windows::ctrl_shutdown() {
|
let mut ctrl_shutdown = match windows::ctrl_shutdown() {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
logging!(
|
logging!(error, Type::SystemSignal, "Failed to register Ctrl+Shutdown: {}", e);
|
||||||
error,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Failed to register Ctrl+Shutdown: {}",
|
|
||||||
e
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -56,12 +41,7 @@ where
|
|||||||
let mut ctrl_logoff = match windows::ctrl_logoff() {
|
let mut ctrl_logoff = match windows::ctrl_logoff() {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
logging!(
|
logging!(error, Type::SystemSignal, "Failed to register Ctrl+Logoff: {}", e);
|
||||||
error,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Failed to register Ctrl+Logoff: {}",
|
|
||||||
e
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -94,12 +74,7 @@ where
|
|||||||
}
|
}
|
||||||
IS_CLEANING_UP.store(true, Ordering::SeqCst);
|
IS_CLEANING_UP.store(true, Ordering::SeqCst);
|
||||||
|
|
||||||
logging!(
|
logging!(info, Type::SystemSignal, "Caught Windows signal: {}", signal_name);
|
||||||
info,
|
|
||||||
Type::SystemSignal,
|
|
||||||
"Caught Windows signal: {}",
|
|
||||||
signal_name
|
|
||||||
);
|
|
||||||
|
|
||||||
f().await;
|
f().await;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,9 +125,8 @@ impl IRuntime {
|
|||||||
&& let Some(Value::Sequence(proxies)) = config.get_mut("proxies")
|
&& let Some(Value::Sequence(proxies)) = config.get_mut("proxies")
|
||||||
{
|
{
|
||||||
for (i, dialer_proxy) in dialer_proxies.iter().enumerate() {
|
for (i, dialer_proxy) in dialer_proxies.iter().enumerate() {
|
||||||
if let Some(Value::Mapping(proxy)) = proxies
|
if let Some(Value::Mapping(proxy)) =
|
||||||
.iter_mut()
|
proxies.iter_mut().find(|proxy| proxy.get("name") == Some(dialer_proxy))
|
||||||
.find(|proxy| proxy.get("name") == Some(dialer_proxy))
|
|
||||||
&& i != 0
|
&& i != 0
|
||||||
&& let Some(dialer_proxy) = dialer_proxies.get(i - 1)
|
&& let Some(dialer_proxy) = dialer_proxies.get(i - 1)
|
||||||
{
|
{
|
||||||
@@ -141,10 +140,7 @@ impl IRuntime {
|
|||||||
// TODO 完整迁移 enhance 行为后移除
|
// TODO 完整迁移 enhance 行为后移除
|
||||||
#[inline]
|
#[inline]
|
||||||
fn use_keys<'a>(config: &'a Mapping) -> impl Iterator<Item = String> + 'a {
|
fn use_keys<'a>(config: &'a Mapping) -> impl Iterator<Item = String> + 'a {
|
||||||
config
|
config.iter().filter_map(|(key, _)| key.as_str()).map(|s: &str| {
|
||||||
.iter()
|
|
||||||
.filter_map(|(key, _)| key.as_str())
|
|
||||||
.map(|s: &str| {
|
|
||||||
let mut s: String = s.into();
|
let mut s: String = s.into();
|
||||||
s.make_ascii_lowercase();
|
s.make_ascii_lowercase();
|
||||||
s
|
s
|
||||||
|
|||||||
@@ -13,13 +13,7 @@ pub fn get_system_info(state: State<'_, RwLock<Platform>>) -> Result<String, Err
|
|||||||
/// 获取应用的运行时间(毫秒)
|
/// 获取应用的运行时间(毫秒)
|
||||||
#[command]
|
#[command]
|
||||||
pub fn get_app_uptime(state: State<'_, RwLock<Platform>>) -> Result<u128, Error> {
|
pub fn get_app_uptime(state: State<'_, RwLock<Platform>>) -> Result<u128, Error> {
|
||||||
Ok(state
|
Ok(state.inner().read().appinfo.app_startup_time.elapsed().as_millis())
|
||||||
.inner()
|
|
||||||
.read()
|
|
||||||
.appinfo
|
|
||||||
.app_startup_time
|
|
||||||
.elapsed()
|
|
||||||
.as_millis())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 检查应用是否以管理员身份运行
|
/// 检查应用是否以管理员身份运行
|
||||||
|
|||||||
Reference in New Issue
Block a user