Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
6ba0f77
v1.4.0: Android 手机版 + TRAE 双端合并适配 + 非强制更新
Oct 13, 2026
1773d51
ci: 支持 workflow_dispatch 手动触发
Oct 13, 2026
1a61c35
build: 升级 .NET 10(LTS)—— Avalonia 12 系列仅支持 net10.0-android,两端统一 net10.0
Oct 13, 2026
88aa2e6
fix: 补全 csproj/README 中 net10.0 条件字符串(漏改导致条件全部不命中)
Oct 13, 2026
7f29fd9
ci: build/publish 命令显式指定 net10.0 目标框架(多目标项目必须)
Oct 13, 2026
7939337
fix: partial 方法加 private 修饰符(CS8796,有返回值的 partial 不允许隐式 private)
Oct 13, 2026
1f98303
fix(ci): ubuntu 构建开启 EnableWindowsTargeting;补 Android 端 OnAutoLoginCl…
Oct 13, 2026
87b730f
docs: README 技术栈修正为 .NET 10;移除无内容残留标题
Oct 13, 2026
503440e
fix: 修正 OnAutoLoginClick 的 #endif 位置(CS1513)——#endif 需在方法右花括号之前,否则 An…
Oct 13, 2026
5e045ab
fix(android): 修复 CS8954/CS0104/CS0311 三类编译错误
Oct 13, 2026
9acb9dd
fix(android): CS0619 废弃 API 与 CS1061 UsePlatformDetect
Oct 13, 2026
94d4897
fix(android): CipherMode 写全称 Javax.Crypto.CipherMode(与 System.Securit…
Oct 13, 2026
0ebb815
docs: 精确化「非强制更新」表述(Windows 确认后替换 / Android 仅跳转下载页)
Oct 13, 2026
2e8df9d
fix(release): RuntimeIdentifier 移入 csproj windows 条件组,命令行不再传 -r
Oct 13, 2026
0f0620a
fix(release): APK 签名——提交固定签名密钥并修正产物选择
Oct 13, 2026
5f25df4
fix(android): 修复启动闪退——单视图平台改用覆盖层对话框 + 全局崩溃日志
Oct 13, 2026
12ae074
fix(android): v1.4.2 启动崩溃诊断版
Oct 13, 2026
a5c31ee
fix(build): 修正静态类引用/类型二义/剪贴板 API;android 渲染默认软件模式
Oct 13, 2026
edd859b
fix(android): 主视图与对话框改为 UserControl——Android 单视图平台不能创建 Window
Oct 13, 2026
52d76eb
feat(ui): v1.4.4 手机屏适配——紧凑模式(顶栏+底部标签栏+单列堆叠)
Oct 13, 2026
07b89b7
fix(xaml): ^.compact 顶层嵌套选择器无父样式(AVLN2000),改为 Grid.compact 后代选择器
Oct 13, 2026
b782f02
fix(xaml): 双列布局区改用 UniformGrid——ColumnDefinitions 非 StyledProperty 不能…
Oct 13, 2026
9301892
feat: 移动端 UI 视觉升级(设计令牌 + 暗色模式 + 品牌渐变) (#1)
akexin Oct 13, 2026
217c14c
feat(ui): 扁平弱卡片重构——视觉降噪与信息层级优化 (#2)
akexin Oct 14, 2026
3429559
chore: bump version to 1.4.7
akexin Oct 14, 2026
a639e8b
feat(ui): 异步操作动效——加载反馈与防重复提交 (#4)
akexin Oct 14, 2026
5e0b97b
feat(2.0): 极简单页重构 — 本地签到 + 云端托管 + 最近记录
akexin Oct 14, 2026
bb4cb4b
chore(release): bump version to v2.0.0
github-actions[bot] Oct 14, 2026
9bf8eb3
fix(2.0.1): 修复移动端版本号错乱 + 收紧签名校验门禁 + 「关于」链接去重
akexin Oct 14, 2026
6f4cf19
chore(signing): 轮换 APK 签名密钥(keytool 生成,alias=traetools)
akexin Oct 14, 2026
25a69b5
fix(ci): 改为显式三方案签名 APK + 修正指纹比对大小写
akexin Oct 14, 2026
8386199
fix(ci): 签名改为「.NET 打包后重签」+ 修正签名块解析窗口
akexin Oct 14, 2026
0755887
更新 README.md
akexin Oct 14, 2026
1c56376
feat: 多账号切换 + 四种登录方式 + 六渠道推送 + 日志页 + 全局深色模式
akexin Oct 14, 2026
65b0e9e
chore(release): v2.1.0
akexin Oct 14, 2026
c5fb472
feat: 账号简介/积分数据面板/自定义设备号/保活 + 安全检查,并修复 Android 凭证解密与浏览器授权
akexin Oct 14, 2026
464f9b7
fix(android): UnprotectCore 增加平台前缀校验,避免把明文当密文盲切解析
akexin Oct 14, 2026
92e72ac
merge: 以 2.2.0 线为准合入上游 main
akexin Oct 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 0 additions & 36 deletions .github/workflows/android.yml

This file was deleted.

122 changes: 122 additions & 0 deletions .github/workflows/bump-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Bump Version

# 手动触发的版本号自增工作流。
#
# 设计要点:
# 1. version.json 是**唯一版本源**(csproj 的 Version/InformationalVersion/ApplicationDisplayVersion
# 由 ReadVersionFromJson 目标自动读取并覆盖),因此只需改 version.json;
# 但 Android 的 ApplicationVersion(versionCode)必须**单调递增**才能覆盖安装,需一并自增。
# 2. 使用 GITHUB_TOKEN 推送的提交**不会**触发其它工作流(GitHub 官方限制),
# 因此这里在推送后显式派发 ci.yml 再验证一次(workflow_dispatch 不受该限制影响)。

on:
workflow_dispatch:
inputs:
version:
description: "目标版本号,如 2.0.0(填写后忽略自增类型)"
required: false
type: string
bump:
description: "自增类型(version 留空时生效)"
required: false
default: minor
type: choice
options:
- patch
- minor
- major

permissions:
contents: write
actions: write

concurrency:
group: bump-version
cancel-in-progress: false

jobs:
bump:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.calc.outputs.version }}
steps:
- name: Checkout main
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0

- name: Calculate and apply new version
id: calc
env:
TARGET_VERSION: ${{ inputs.version }}
BUMP_TYPE: ${{ inputs.bump }}
run: |
set -euo pipefail
python3 - <<'PY'
import datetime, json, os, re

path = "version.json"
with open(path, encoding="utf-8") as f:
data = json.load(f)

old = str(data.get("version", "0.0.0")).strip()
target = (os.environ.get("TARGET_VERSION") or "").strip()

if not target:
kind = (os.environ.get("BUMP_TYPE") or "minor").strip()
nums = [int(x) for x in re.split(r"[.\-+]", old) if x.isdigit()]
while len(nums) < 3:
nums.append(0)
major, minor, patch = nums[0], nums[1], nums[2]
if kind == "major":
major, minor, patch = major + 1, 0, 0
elif kind == "patch":
patch += 1
else:
minor, patch = minor + 1, 0
target = f"{major}.{minor}.{patch}"

if not re.fullmatch(r"\d+\.\d+\.\d+", target):
raise SystemExit(f"非法版本号:{target}(应形如 1.2.3)")

data["version"] = target
data["buildDate"] = datetime.date.today().isoformat()
with open(path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
f.write("\n")

csproj_path = "TraeTools.csproj"
with open(csproj_path, encoding="utf-8") as f:
csproj = f.read()
m = re.search(r"<ApplicationVersion>(\d+)</ApplicationVersion>", csproj)
if not m:
raise SystemExit("TraeTools.csproj 中未找到 <ApplicationVersion>")
new_code = int(m.group(1)) + 1
csproj = csproj[: m.start(1)] + str(new_code) + csproj[m.end(1) :]
with open(csproj_path, "w", encoding="utf-8") as f:
f.write(csproj)

print(f"version.json: {old} -> {target}")
print(f"Android versionCode: {m.group(1)} -> {new_code}")
with open(os.environ["GITHUB_OUTPUT"], "a", encoding="utf-8") as f:
f.write(f"version={target}\n")
PY

- name: Commit and push to main
run: |
set -euo pipefail
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add version.json TraeTools.csproj
if git diff --cached --quiet; then
echo "无版本变化,跳过提交"
exit 0
fi
git commit -m "chore(release): bump version to v${{ steps.calc.outputs.version }}"
git push origin HEAD:main

- name: Dispatch CI to validate the bumped commit
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh workflow run ci.yml --ref main
34 changes: 27 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,51 @@ name: CI
on:
push:
branches: [main]
workflow_dispatch:
pull_request:
branches: [main]

permissions:
contents: read

jobs:
build:
build-windows:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4

# P2-2:主程序已升到 net10.0-windows(NativeAOT 前置)
- name: Setup .NET 10
- name: Setup .NET 9
uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"

- name: Build (Release)
run: dotnet build TraeTools.csproj -c Release --nologo
- name: Build Windows (Release)
run: dotnet build TraeTools.csproj -c Release -f net10.0-windows --nologo

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: trae-tools-build
name: trae-tools-build-windows
path: bin/Release/net10.0-windows/
if-no-files-found: error
if-no-files-found: error

build-android:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET 9
uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"

# Android workload:含 Microsoft.Android SDK / OpenJDK 等构建依赖(首次安装约 5-10 分钟)
- name: Install Android workload
run: dotnet workload install android

# EnableWindowsTargeting:多目标项目还原时会一并还原 net10.0-windows,
# ubuntu 上必须允许下载 Windows 目标包,否则报 NETSDK1100
- name: Build Android (Release)
run: dotnet build TraeTools.csproj -c Release -f net10.0-android -p:EnableWindowsTargeting=true --nologo
Loading
Loading