mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 02:53:43 +08:00
release 2.0.0
This commit is contained in:
parent
a610a43db0
commit
e72e8ea631
@ -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
|
||||
|
@ -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",
|
||||
|
@ -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());
|
||||
|
@ -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": {
|
||||
|
@ -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 }))
|
||||
}
|
||||
|
@ -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>;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user