release 2.0.0

This commit is contained in:
wonfen 2024-11-23 11:34:17 +08:00
parent a610a43db0
commit e72e8ea631
6 changed files with 25 additions and 19 deletions

View File

@ -10,7 +10,7 @@
- 重大框架升级:使用 Tauri 2.0(巨量改进与性能提升)
- 强烈建议完全删除 1.x 老版本再安装此版本
- 敬请测试,出现 bug 到 issues 中提出
- 出现 bug 到 issues 中提出以后不再接受1.x版本的bug反馈。
### Features
@ -49,6 +49,7 @@
- 修复已有多个订阅导入新订阅会跳选订阅的问题
- 修复多个 Linux 下的 bug, Tun 模式在 Linux 下目前工作正常
- 修复 Linux wayland 下任务栏图标缺失的问题
- 修复 Linux KDE 桌面环境无法启动的问题
- 移除多余退出变量和钩子
- 修复 MacOS 下 tray 菜单重启 app 失效的问题
- 修复某些特定配置文件载入失败的问题
@ -57,6 +58,11 @@
- 修复快捷键设置的相关 bug
- 修复 Win 下点左键菜单闪现的问题Mac 下的操作逻辑相反,默认情况下不管点左/右键均会打开菜单,闪现不属于 bug
### Know issues
- Windows 下窗口大小无法记忆(等待上游修复)
- Webdav 备份因为安全性和兼容性问题,暂不支持同步 Webdav 服务器地址和登录信息;跨平台配置同步
---
## v1.7.7

View File

@ -1,6 +1,6 @@
{
"name": "clash-verge",
"version": "2.0.0-rc.7",
"version": "2.0.0",
"license": "GPL-3.0-only",
"scripts": {
"dev": "cross-env RUST_BACKTRACE=1 tauri dev",

View File

@ -52,7 +52,7 @@ pub async fn get_proxy_delay(
let (url, headers) = clash_client_info()?;
let url = format!("{url}/proxies/{name}/delay");
let default_url = "https://cp.cloudflare.com/generate_204";
let default_url = "http://cp.cloudflare.com/generate_204";
let test_url = test_url
.map(|s| if s.is_empty() { default_url.into() } else { s })
.unwrap_or(default_url.into());

View File

@ -25,7 +25,7 @@
"devUrl": "http://localhost:3000/"
},
"productName": "Clash Verge",
"version": "2.0.0-rc.7",
"version": "2.0.0",
"identifier": "io.github.clash-verge-rev.clash-verge-rev",
"plugins": {
"updater": {

View File

@ -205,7 +205,7 @@ export const MiscViewer = forwardRef<DialogRef>((props, ref) => {
spellCheck="false"
sx={{ width: 250, marginLeft: "auto" }}
value={values.defaultLatencyTest}
placeholder="https://cp.cloudflare.com/generate_204"
placeholder="http://cp.cloudflare.com/generate_204"
onChange={(e) =>
setValues((v) => ({ ...v, defaultLatencyTest: e.target.value }))
}

View File

@ -72,16 +72,16 @@ export const getRules = async () => {
export const getProxyDelay = async (
name: string,
url?: string,
timeout?: number
timeout?: number,
) => {
const params = {
timeout: timeout || 10000,
url: url || "https://cp.cloudflare.com/generate_204",
url: url || "http://cp.cloudflare.com/generate_204",
};
const instance = await getAxios();
const result = await instance.get(
`/proxies/${encodeURIComponent(name)}/delay`,
{ params }
{ params },
);
return result as any as { delay: number };
};
@ -108,8 +108,8 @@ export const getProxies = async () => {
// provider name map
const providerMap = Object.fromEntries(
Object.entries(providerRecord).flatMap(([provider, item]) =>
item.proxies.map((p) => [p.name, { ...p, provider }])
)
item.proxies.map((p) => [p.name, { ...p, provider }]),
),
);
// compatible with proxy-providers
@ -154,7 +154,7 @@ export const getProxies = async () => {
}
return acc;
},
[]
[],
);
let globalNames = new Set(globalGroups.map((each) => each.name));
@ -167,8 +167,8 @@ export const getProxies = async () => {
const proxies = [direct, reject].concat(
Object.values(proxyRecord).filter(
(p) => !p.all?.length && p.name !== "DIRECT" && p.name !== "REJECT"
)
(p) => !p.all?.length && p.name !== "DIRECT" && p.name !== "REJECT",
),
);
const _global: IProxyGroupItem = {
@ -193,7 +193,7 @@ export const getProxyProviders = async () => {
Object.entries(providers).filter(([key, item]) => {
const type = item.vehicleType.toLowerCase();
return type === "http" || type === "file";
})
}),
);
};
@ -210,7 +210,7 @@ export const getRuleProviders = async () => {
Object.entries(providers).filter(([key, item]) => {
const type = item.vehicleType.toLowerCase();
return type === "http" || type === "file";
})
}),
);
};
@ -218,7 +218,7 @@ export const getRuleProviders = async () => {
export const providerHealthCheck = async (name: string) => {
const instance = await getAxios();
return instance.get(
`/providers/proxies/${encodeURIComponent(name)}/healthcheck`
`/providers/proxies/${encodeURIComponent(name)}/healthcheck`,
);
};
@ -254,16 +254,16 @@ export const closeAllConnections = async () => {
export const getGroupProxyDelays = async (
groupName: string,
url?: string,
timeout?: number
timeout?: number,
) => {
const params = {
timeout: timeout || 10000,
url: url || "https://cp.cloudflare.com/generate_204",
url: url || "http://cp.cloudflare.com/generate_204",
};
const instance = await getAxios();
const result = await instance.get(
`/group/${encodeURIComponent(groupName)}/delay`,
{ params }
{ params },
);
return result as any as Record<string, number>;
};