Compare commits

..

5 Commits

8 changed files with 97 additions and 69 deletions

View File

@@ -55,17 +55,6 @@ body:
description: 请提供你的操作系统版本Linux请额外提供桌面环境及窗口系统 / Please provide your OS version, for Linux, please also provide the desktop environment and window system description: 请提供你的操作系统版本Linux请额外提供桌面环境及窗口系统 / Please provide your OS version, for Linux, please also provide the desktop environment and window system
validations: validations:
required: true required: true
- type: checkboxes
id: os-labels
attributes:
label: 系统标签 / OS Labels
description: 请选择受影响的操作系统(至少选择一个) / Please select the affected operating system(s) (select at least one)
options:
- label: windows
- label: macos
- label: linux
validations:
required: true
- type: textarea - type: textarea
attributes: attributes:
label: 日志 / Log label: 日志 / Log

View File

@@ -25,7 +25,7 @@ jobs:
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Check if commit changed - name: Check if version changed
id: check id: check
run: | run: |
# For manual workflow_dispatch, always run # For manual workflow_dispatch, always run
@@ -34,21 +34,44 @@ jobs:
exit 0 exit 0
fi fi
# Check if current commit is different from the previous one # Store current version from package.json
CURRENT_COMMIT=$(git rev-parse HEAD) CURRENT_VERSION=$(cat package.json | jq -r '.version')
PREVIOUS_COMMIT=$(git rev-parse HEAD~1) echo "Current version: $CURRENT_VERSION"
if [ "$CURRENT_COMMIT" != "$PREVIOUS_COMMIT" ]; then # Get the previous commit's package.json version
echo "New commit detected: $CURRENT_COMMIT" git checkout HEAD~1 package.json
PREVIOUS_VERSION=$(cat package.json | jq -r '.version')
echo "Previous version: $PREVIOUS_VERSION"
# Reset back to current commit
git checkout HEAD package.json
# Check if version changed
if [ "$CURRENT_VERSION" != "$PREVIOUS_VERSION" ]; then
echo "Version changed from $PREVIOUS_VERSION to $CURRENT_VERSION"
echo "should_run=true" >> $GITHUB_OUTPUT echo "should_run=true" >> $GITHUB_OUTPUT
else else
echo "No new commits since last run" echo "Version unchanged: $CURRENT_VERSION"
echo "should_run=false" >> $GITHUB_OUTPUT echo "should_run=false" >> $GITHUB_OUTPUT
fi fi
alpha: delete_old_release:
needs: check_commit needs: check_commit
if: ${{ needs.check_commit.outputs.should_run == 'true' }} if: ${{ needs.check_commit.outputs.should_run == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Delete Old Alpha Release
uses: dev-drprasad/delete-tag-and-release@v1.1
with:
tag_name: alpha
delete_release: true
repo: ${{ github.repository }}
github_token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
alpha:
needs: delete_old_release
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -103,9 +126,6 @@ jobs:
pnpm i pnpm i
pnpm check ${{ matrix.target }} pnpm check ${{ matrix.target }}
- name: Alpha Version update
run: pnpm run fix-alpha-version
- name: Tauri build - name: Tauri build
uses: tauri-apps/tauri-action@v0 uses: tauri-apps/tauri-action@v0
env: env:
@@ -129,8 +149,7 @@ jobs:
args: --target ${{ matrix.target }} args: --target ${{ matrix.target }}
alpha-for-linux-arm: alpha-for-linux-arm:
needs: check_commit needs: delete_old_release
if: ${{ needs.check_commit.outputs.should_run == 'true' }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -252,8 +271,7 @@ jobs:
src-tauri/target/${{ matrix.target }}/release/bundle/rpm/*.rpm src-tauri/target/${{ matrix.target }}/release/bundle/rpm/*.rpm
alpha-for-fixed-webview2: alpha-for-fixed-webview2:
needs: check_commit needs: delete_old_release
if: ${{ needs.check_commit.outputs.should_run == 'true' }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -351,37 +369,61 @@ jobs:
update_tag: update_tag:
name: Update tag name: Update tag
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [check_commit, alpha, alpha-for-linux-arm, alpha-for-fixed-webview2] needs: [delete_old_release, alpha, alpha-for-linux-arm, alpha-for-fixed-webview2]
if: ${{ needs.check_commit.outputs.should_run == 'true' }}
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Fetch Alpha update logs
id: fetch_alpha_logs
run: |
# Check if UPDATELOG.md exists
if [ -f "UPDATELOG.md" ]; then
# Extract the section starting with ## and containing -alpha until the next ## or end of file
ALPHA_LOGS=$(awk '/^## .*-alpha/{flag=1; print; next} /^## /{flag=0} flag' UPDATELOG.md)
if [ -n "$ALPHA_LOGS" ]; then
echo "Found alpha update logs"
echo "ALPHA_LOGS<<EOF" >> $GITHUB_ENV
echo "$ALPHA_LOGS" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
else
echo "No alpha sections found in UPDATELOG.md"
fi
else
echo "UPDATELOG.md file not found"
fi
shell: bash
- name: Set Env - name: Set Env
run: | run: |
echo "BUILDTIME=$(TZ=Asia/Shanghai date)" >> $GITHUB_ENV echo "BUILDTIME=$(TZ=Asia/Shanghai date)" >> $GITHUB_ENV
shell: bash shell: bash
# - name: Update Tag
# uses: richardsimko/update-tag@v1
# with:
# tag_name: alpha
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: | - run: |
cat > release.txt << 'EOF' # 检查 ALPHA_LOGS 是否存在,如果不存在则使用默认消息
if [ -z "$ALPHA_LOGS" ]; then
echo "No alpha logs found, using default message"
ALPHA_LOGS="More new features are now supported. Check for detailed changelog soon."
else
echo "Using found alpha logs"
fi
# 生成 release.txt 文件
cat > release.txt << EOF
$ALPHA_LOGS
## 我应该下载哪个版本? ## 我应该下载哪个版本?
### MacOS ### MacOS
- MacOS intel芯片: x64.dmg - MacOS intel芯片: x64.dmg
- MacOS apple M芯片: aarch64.dmg - MacOS apple M芯片: aarch64.dmg
### Linux ### Linux
- Linux 64位: amd64.deb/amd64.rpm - Linux 64位: amd64.deb/amd64.rpm
- Linux arm64 architecture: arm64.deb/aarch64.rpm - Linux arm64 architecture: arm64.deb/aarch64.rpm
- Linux armv7架构: armhf.deb/armhfp.rpm - Linux armv7架构: armhf.deb/armhfp.rpm
### Windows (不再支持Win7) ### Windows (不再支持Win7)
#### 正常版本(推荐) #### 正常版本(推荐)
- 64位: x64-setup.exe - 64位: x64-setup.exe
@@ -390,15 +432,15 @@ jobs:
#### 内置Webview2版(体积较大仅在企业版系统或无法安装webview2时使用) #### 内置Webview2版(体积较大仅在企业版系统或无法安装webview2时使用)
- 64位: x64_fixed_webview2-setup.exe - 64位: x64_fixed_webview2-setup.exe
- arm64架构: arm64_fixed_webview2-setup.exe - arm64架构: arm64_fixed_webview2-setup.exe
### FAQ ### FAQ
- [常见问题](https://clash-verge-rev.github.io/faq/windows.html) - [常见问题](https://clash-verge-rev.github.io/faq/windows.html)
### 稳定机场VPN推荐 ### 稳定机场VPN推荐
- [狗狗加速](https://verge.dginv.click/#/register?code=oaxsAGo6) - [狗狗加速](https://verge.dginv.click/#/register?code=oaxsAGo6)
Created at ${{ env.BUILDTIME }}. Created at ${{ env.BUILDTIME }}.
EOF EOF
- name: Upload Release - name: Upload Release
@@ -409,4 +451,4 @@ jobs:
body_path: release.txt body_path: release.txt
prerelease: true prerelease: true
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
generate_release_notes: true generate_release_notes: true

View File

@@ -1,3 +1,11 @@
## v2.2.1-alpha
**发行代号:拓**
#### 修复
1. **系统**
- 修复 MacOS 无法使用快捷键粘贴/选择/复制订阅地址。
## v2.2.0 ## v2.2.0
**发行代号:拓** **发行代号:拓**
@@ -26,7 +34,6 @@
5. **系统支持** 5. **系统支持**
- macOS 支持 CMD+W 关闭窗口。 - macOS 支持 CMD+W 关闭窗口。
- 新增 macOS 应用菜单。 - 新增 macOS 应用菜单。
- 支持 alpha 更新。
- 添加管理员权限提示。 - 添加管理员权限提示。
- 新增 sidecar 模式。 - 新增 sidecar 模式。
@@ -39,6 +46,7 @@
1. **系统** 1. **系统**
- 修复 Windows 热键崩溃。 - 修复 Windows 热键崩溃。
- 修复 macOS 无框标题。 - 修复 macOS 无框标题。
- 修复 macOS 静默启动崩溃。
- 修复 Windows/Linux 运行时崩溃。 - 修复 Windows/Linux 运行时崩溃。
- 修复 Netflix 检测错误。 - 修复 Netflix 检测错误。
- 修复服务模式检测失败。 - 修复服务模式检测失败。
@@ -47,6 +55,7 @@
- 优化小数值速度更新。 - 优化小数值速度更新。
- 增加请求超时至 60 秒。 - 增加请求超时至 60 秒。
- 修复代理节点选择同步。 - 修复代理节点选择同步。
- 优化修改verge配置性能。
3. **构建** 3. **构建**
- 修复构建失败问题。 - 修复构建失败问题。
@@ -57,6 +66,7 @@
- 优化流量图表资源使用。 - 优化流量图表资源使用。
- 提升代理组列表滚动性能。 - 提升代理组列表滚动性能。
- 加快应用退出速度。 - 加快应用退出速度。
- 加快进入轻量模式速度。
2. **重构** 2. **重构**
- 优化定时器管理。 - 优化定时器管理。

View File

@@ -1,6 +1,6 @@
{ {
"name": "clash-verge", "name": "clash-verge",
"version": "2.2.0", "version": "2.2.1-alpha",
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"scripts": { "scripts": {
"dev": "cross-env RUST_BACKTRACE=1 tauri dev -f verge-dev -- --profile fast-dev", "dev": "cross-env RUST_BACKTRACE=1 tauri dev -f verge-dev -- --profile fast-dev",

2
src-tauri/Cargo.lock generated
View File

@@ -1132,7 +1132,7 @@ dependencies = [
[[package]] [[package]]
name = "clash-verge" name = "clash-verge"
version = "2.1.2" version = "2.2.1-alpha"
dependencies = [ dependencies = [
"ab_glyph", "ab_glyph",
"aes-gcm", "aes-gcm",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "clash-verge" name = "clash-verge"
version = "2.1.2" version = "2.2.1-alpha"
description = "clash verge" description = "clash verge"
authors = ["zzzgydi", "wonfen", "MystiPanda"] authors = ["zzzgydi", "wonfen", "MystiPanda"]
license = "GPL-3.0-only" license = "GPL-3.0-only"

View File

@@ -11,12 +11,9 @@ use crate::{
}; };
use config::Config; use config::Config;
use std::sync::{Mutex, Once}; use std::sync::{Mutex, Once};
use tauri::AppHandle;
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
use tauri::Manager; use tauri::Manager;
use tauri::{
menu::{Menu, MenuItem, Submenu},
AppHandle,
};
use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_autostart::MacosLauncher;
use tauri_plugin_deep_link::DeepLinkExt; use tauri_plugin_deep_link::DeepLinkExt;
@@ -227,18 +224,7 @@ pub fn run() {
// Macos Application Menu // Macos Application Menu
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
{ {
builder = builder.menu(|handle| { // Temporary Achived due to cannot CMD+C/V/A
Menu::with_items(
handle,
&[&Submenu::with_items(
handle,
"Menu",
true,
&[&MenuItem::new(handle, "Clash Verge", true, None::<String>).unwrap()],
)
.unwrap()],
)
});
} }
let app = builder let app = builder
@@ -250,11 +236,12 @@ pub fn run() {
AppHandleManager::global().init(app_handle.clone()); AppHandleManager::global().init(app_handle.clone());
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
{ {
let main_window = AppHandleManager::global() if let Some(window) = AppHandleManager::global()
.get_handle() .get_handle()
.get_webview_window("main") .get_webview_window("main")
.unwrap(); {
let _ = main_window.set_title("Clash Verge"); let _ = window.set_title("Clash Verge");
}
} }
} }
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]

View File

@@ -1,5 +1,5 @@
{ {
"version": "2.2.0", "version": "2.2.1-alpha",
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"bundle": { "bundle": {
"active": true, "active": true,