Commit Graph

  • c550eea5d8 feat(client/auth): 登录/注册页 Enter 键导航与提交 wangjia 2026-06-28 22:44:34 +08:00
  • 7dcbe04934 build(client/windows): 版本 bump 1.0.9 → 1.0.10(输入框聚焦橙边修复) wangjia 2026-06-28 22:33:52 +08:00
  • 25e8330e3b fix(client): 修聚焦时输入框橙边漏出错位/被裁(登录·注册·搜索·兑换码) wangjia 2026-06-28 22:21:50 +08:00
  • 1adf088c68 build(client/windows): 版本 bump 1.0.8 → 1.0.9(节点页刷新) wangjia 2026-06-28 22:00:26 +08:00
  • 0542ff027f feat(client/nodes): 节点页刷新 — 下拉刷新 + 刷新按钮 + 进页刷新 + 10s 限流 wangjia 2026-06-28 22:00:26 +08:00
  • 51c171d815 build(client/windows): 版本 bump 1.0.7 → 1.0.8(节点 status 渲染等) wangjia 2026-06-28 21:47:54 +08:00
  • 8049659660 feat(client): 节点 status=down 在列表置灰+「不可用」+禁选(#7 客户端侧) wangjia 2026-06-28 21:35:52 +08:00
  • f0832ccfcb fix(client): 修 pro 会员启动闪广告/统计闪 0 — 加载门覆盖 auth 加载窗口 wangjia 2026-06-28 21:12:24 +08:00
  • 3785fdf1c1 style(client/shell): 会员卡字体调小,有效期完整显示 wangjia 2026-06-28 21:06:06 +08:00
  • e27bbbd384 build(client/windows): 版本 bump 1.0.6 → 1.0.7(我的入口纠正) wangjia 2026-06-28 20:33:30 +08:00
  • 2c5e8785c0 fix(client/shell): 「我的」入口改到底部会员卡(非顶部品牌) wangjia 2026-06-28 20:33:30 +08:00
  • 09eab3b3b6 build(client/windows): installer 版本 bump 1.0.5 → 1.0.6(折线图/加载转圈/侧栏改版) wangjia 2026-06-28 20:26:56 +08:00
  • b1dd78fddd feat(client/shell): 侧栏改版 — 我的移到顶部品牌按钮 + 联系放设置下面 wangjia 2026-06-28 20:24:03 +08:00
  • ea1af967a0 fix(client): 统计页/连接页 加载时整页转圈,先拉数据再渲染(不闪默认态) wangjia 2026-06-28 20:17:39 +08:00
  • 07f09a1600 feat(client/stats): 两周流量折线图加 Y轴刻度 + X轴日期 + 14个数据点 wangjia 2026-06-28 20:12:30 +08:00
  • ed22965d18 chore(todo): 合并本地 main 的 2 个 open 待办(golden 清理 + 协议选择) wangjia 2026-06-28 19:28:08 +08:00
  • 0698dc6138 chore(todo): 更新 TODO 看板(stats-overhaul 收口期新增条目) wangjia 2026-06-28 18:14:05 +08:00
  • 1a6eb7ac9a docs(stats): stats-overhaul 计划/测试清单 + index 登记 wangjia 2026-06-28 18:13:49 +08:00
  • b98ad9dce4 chore(design): stats-overhaul 设计 WIP — CONTRACT + ui_kits 统计页规格 wangjia 2026-06-28 18:13:49 +08:00
  • bf84492eef feat(client/native): stats-overhaul Phase1 — 四端实时统计采集端 wangjia 2026-06-28 18:13:48 +08:00
  • 636a3bbf2f feat(server/stats): stats-overhaul Phase2 — 每设备归因 + GB 综合配额 wangjia 2026-06-28 18:12:00 +08:00
  • 4f9d2d2cf3 fix(client): 补提交 stats-overhaul 漏掉的 account_api/kernel_process WIP wangjia 2026-06-28 17:53:56 +08:00
  • a7c3795e5a fix(client): 补提交漏掉的 device_usage 模型 + 测试(Windows 构建缺文件) wangjia 2026-06-28 17:51:25 +08:00
  • 6f480acad5 build(client/windows): installer 版本 bump 1.0.4 → 1.0.5(含统计页重设计) wangjia 2026-06-28 17:47:46 +08:00
  • 01ebafc05e feat(client/stats): 统计页重设计 — 月/周/日周期卡 + 设备下拉 + 两周折线 + 修刷新 wangjia 2026-06-28 17:43:14 +08:00
  • 47147a1041 build(client/windows): installer 版本 bump 1.0.3 → 1.0.4(含节点国旗) wangjia 2026-06-28 16:32:57 +08:00
  • 855d9e0e30 feat(client): 连接页桌面节点胶囊(_NodePill)加地域国旗 wangjia 2026-06-28 16:32:24 +08:00
  • 8eb7d04fe1 feat(client): 节点地区图标改国旗(SVG 填满裁切),未知码回退码块 wangjia 2026-06-28 16:25:48 +08:00
  • 4c1a289633 fix(nodes): 节点健康/connect 绑定 agent 在线状态,不再伪装连上 wangjia 2026-06-28 08:36:31 +08:00
  • 3527537c96 fix(connect): 4 处 500 记 slog.Error;加连接路径 schema 绑定测试 wangjia 2026-06-28 08:11:32 +08:00
  • 77ce809d48 fix(auth): SMTP 信封发件人用裸地址,修 501;发信失败记日志 wangjia 2026-06-28 07:50:37 +08:00
  • b12519be0a fix(client/windows): runner 加 /utf-8 编译选项,根治 C4819 中文注释编译失败 wangjia 2026-06-27 20:49:36 +08:00
  • 8d3c5da7ee fix(client/windows): installer 覆盖修复 — 装新版前静默卸载遗留 AppId 的 1.0.0 wangjia 2026-06-27 20:42:54 +08:00
  • e7b37d7719 test(ci): 刀3 — CI 单点韧性:runner 离线告警(缺口③) wangjia 2026-06-25 23:04:35 +08:00
  • 75cdbf583f test(server): 刀2 — v2ray 真实采集后端测试(缺口②) wangjia 2026-06-25 23:01:27 +08:00
  • 60daa6b399 test(client): 刀1 — 统计页「上屏数值对不对」widget 断言(缺口①) wangjia 2026-06-25 22:59:05 +08:00
  • 55d368d98b docs(test): 测试架构补「⑩ 已知缺口/测试盲区」单一跟踪源 wangjia 2026-06-25 21:30:54 +08:00
  • 8356547c2f test(ci): 第7刀 — CI 依赖缓存(C 效率) wangjia 2026-06-25 21:25:38 +08:00
  • f8f4ee0ce8 test(ci): 第6刀 — CI gate 补全(覆盖率闸 A1 + 集成测试 job A2) wangjia 2026-06-25 21:19:34 +08:00
  • 0fd3bce7a5 fix(server): 修复腐烂的集成测试套件 + devices 注册回填 last_seen wangjia 2026-06-25 21:19:10 +08:00
  • 97b2ac02f1 ci: pangolin runner launchd 持久化(start script + plist) wangjia 2026-06-25 20:06:21 +08:00
  • 034a585e3b docs(ci): runner 设置记录(决定用 1 个 mac-pangolin-2 + 清理/持久化) wangjia 2026-06-25 18:52:54 +08:00
  • 65bd7c381b fix(test): e2e 去掉 /v1/usage/devices 断言(stats-overhaul WIP) wangjia 2026-06-25 18:38:15 +08:00
  • 62a86c5c0e fix(ci): shellcheck 去掉多余的 shellcheck 命令(预存 bug) wangjia 2026-06-25 18:25:21 +08:00
  • dc22328eb4 ci(debug): shellcheck 改挂整个 repo + 加 checkout 诊断 wangjia 2026-06-25 18:21:29 +08:00
  • eb1bd11439 fix(test): 契约测试解耦 stats-overhaul WIP(CI 抓到的真问题) wangjia 2026-06-25 18:13:27 +08:00
  • 9a2d14adbe fix(ci): 去掉误提交的 .claude/worktrees gitlink wangjia 2026-06-25 18:01:18 +08:00
  • 58e06708f4 test(ci): 闸2 Go go vet 进 CI(支柱-adjacent;golangci-lint 暂受 go1.25 阻) wangjia 2026-06-25 13:51:41 +08:00
  • 945c2e2f8d test(ci): 闸2 Dart 支柱4 lint 升 error 级(真守门) wangjia 2026-06-25 13:45:31 +08:00
  • bb2688cede test(ci): L3 golden 进 CI(components+auth 子集,Linux 权威基线) wangjia 2026-06-25 13:20:55 +08:00
  • 63bb31066f test(ci): 闸1 接缝脚手架 new-seam.sh(支柱1:让对的写法成默认) wangjia 2026-06-25 12:17:58 +08:00
  • c5223af4a1 test(ci): L3 golden 权威环境脚本(进 CI 前置准备) wangjia 2026-06-25 12:16:16 +08:00
  • 76dbdcfa83 test(client): L2 点连接能连上 流程 + ConnectApi 注入(支柱1) wangjia 2026-06-25 12:13:40 +08:00
  • 95fad37989 test(client): L2 登陆/重启续登/登出 流程(真 AuthNotifier) wangjia 2026-06-25 12:10:52 +08:00
  • cb6fc25bc9 test(client): L1 数值格式化纯函数单测 + 从 widget 抽出(支柱3) wangjia 2026-06-25 12:06:34 +08:00
  • 64f96fe018 refactor(api): /v1/me 收敛 expire_at → 只发 expires_at(无 web 用户中心) wangjia 2026-06-25 10:08:50 +08:00
  • dbd183ee00 fix(ci): 修 flutter analyze 闸长期 exit 1(形同虚设) wangjia 2026-06-25 07:39:14 +08:00
  • 6bd5c04cba test(ci): 第5刀c e2e-smoke CI job + 文档 L4 状态更新 wangjia 2026-06-25 07:06:35 +08:00
  • fd82d82fe3 test(e2e): 第5刀b L4 gRPC 全链路(enroll→ReportUsage→统计真入库真读出) wangjia 2026-06-25 07:04:26 +08:00
  • b3cbeef7cf test(e2e): 第5刀a L4 进程级冒烟编排 + HTTP 段 wangjia 2026-06-25 06:59:39 +08:00
  • 6df453f057 test(ci): 第4刀a pre-commit hook(闸3 提交前本地把关) wangjia 2026-06-24 23:49:41 +08:00
  • 747ceb06f0 test(contract): 第2刀c Go 契约快照(/v1/me·usage·UsageEntry)+ Go CI job wangjia 2026-06-24 23:35:23 +08:00
  • 149aa90cfa test(contract): 第2刀b Dart 契约快照(stats + /v1 API 字段面冻结) wangjia 2026-06-24 23:32:00 +08:00
  • c34d8d8fb5 test(ci): 第2刀a codegen 漂移检查(token 单源不漂移) wangjia 2026-06-24 23:28:41 +08:00
  • 2bf6701def test(ci): 第1刀 可移植 SQL 扫描硬闸 + 五支柱 PR 自检模板 wangjia 2026-06-24 23:25:26 +08:00
  • 29ddd5b453 docs(test): 测试框架架构 + 开发规范五支柱文档 wangjia 2026-06-24 23:25:14 +08:00
  • 2a1208a41c Merge worktree-monitor-debounce: server #5 国内分流 DNS 面 + #12 链路诊断端点 + VPN 测试工具 wangjia 2026-06-23 10:55:47 +08:00
  • 62925a6886 Merge worktree-windows-icon-tray-fix: Windows 桌面/托盘/任务栏图标 + 关窗不断连接 wangjia 2026-06-23 10:54:23 +08:00
  • e4db3beba6 Merge branch 'main' into feature/pangolin-ios wangjia 2026-06-23 10:05:20 +08:00
  • e25649cd27 feat(client/ios): iPad tablet 正式适配——断点≥900 对齐设计源 + tablet golden 回归闸 wangjia 2026-06-23 10:00:14 +08:00
  • 11ee3342bf feat(client/ios): 补齐 App 图标(iPhone+iPad 全尺寸,去 alpha) wangjia 2026-06-23 00:39:37 +08:00
  • bd984feff9 fix(client/ios): iOS 接通原生隧道——切真桥 + save-before-start + DNS matchDomains wangjia 2026-06-23 00:28:53 +08:00
  • 9b365c7e1c fix(client/ios): PacketTunnel 引入 Generated.xcconfig 注入版本号 wangjia 2026-06-22 23:59:05 +08:00
  • d4d211124c Merge: Android 官方穿山甲启动图标(自适应) wangjia 2026-06-22 23:42:57 +08:00
  • f3f91cc0ff feat(android): 启动图标改用官方穿山甲(自适应图标) wangjia 2026-06-22 23:42:18 +08:00
  • 76d8e57a44 build(client/ios): B1 完成——PacketTunnel 链接 libbox+系统框架,iOS 构建打通 wangjia 2026-06-22 22:20:49 +08:00
  • 381a621d77 feat(client/ios): Provider 对齐 macOS libbox 集成(CommandServer+utun fd)+ 内存监控 wangjia 2026-06-22 20:58:03 +08:00
  • 33a3508489 build(client/ios): 引入 iOS libbox 框架 + gitignore 排除产物 wangjia 2026-06-22 20:52:28 +08:00
  • 99695e8861 test(client): 锁定 form_factor 断点(iPad→tablet, iPhone→mobile) wangjia 2026-06-22 20:51:34 +08:00
  • 867107515d Merge: Android 客户端端到端连通 MVP(Task 1-7) wangjia 2026-06-22 20:48:08 +08:00
  • d0919943f5 fix(android): 真机连通修复——补 ACCESS_NETWORK_STATE + 砍 IPv6 zone(Task 7) wangjia 2026-06-22 20:43:49 +08:00
  • c1fddcdf99 docs(android): 修正工具链记录(降Go保pin→SagerNet gomobile fork+5层环境修复) wangjia 2026-06-22 20:05:50 +08:00
  • 126c06833d feat(android): libbox 隧道重写对接真实 1.13.12 API,APK 编译通过(Task 5) wangjia 2026-06-22 19:28:24 +08:00
  • 53a2ee0b74 docs(client/ios): plan 增 HTML 阅读版 + 登记索引(双产物:.md 执行/.html 阅读) wangjia 2026-06-22 19:27:45 +08:00
  • e11c06225d plan(client/ios): iOS+iPad 支持实施计划(6 阶段/12 任务,TestFlight 里程碑) wangjia 2026-06-22 19:22:05 +08:00
  • 84912f4dea docs(client/ios): iOS+iPad 支持设计方案(TestFlight 里程碑)+ 新建 docs 索引 wangjia 2026-06-22 19:06:20 +08:00
  • 2a8426c357 fix(android/kernel): 补 -checklinkname=0 ldflags + JDK 自动探测,构建出 40MB libbox.aar wangjia 2026-06-22 18:59:14 +08:00
  • f298b207fe fix(android/kernel): gomobile 改用 SagerNet fork v0.1.12 + 补 linkname tags wangjia 2026-06-22 18:48:58 +08:00
  • 82741ce0c4 feat(android): Dart provider 接 Android→VpnNativeBridge(Task 4) wangjia 2026-06-22 18:48:58 +08:00
  • 64c427cf11 docs(android): Android 设计方案+KillSwitch 知识库(HTML)+文档索引+实现计划 wangjia 2026-06-22 18:44:50 +08:00
  • 5ea4e1ae03 fix(client/windows): 任务栏图标 + 关闭窗口不再断连接 wangjia 2026-06-22 17:53:34 +08:00
  • 94993b21b4 fix(client/windows): 修桌面/标题栏图标 + 标题文案 + 系统托盘空白 wangjia 2026-06-22 17:06:05 +08:00
  • 306d8e5247 Merge branch 'main' into worktree-monitor-debounce wangjia 2026-06-22 15:08:11 +08:00
  • 7a4d0cf7cd fix(diag): host 参数走 base64 避免 GFW 拦明文敏感词诊断请求 wangjia 2026-06-22 14:34:05 +08:00
  • eea851737f docs(client/windows): 合并后校正 README API 默认值说明(已随 main 改为测试节点) wangjia 2026-06-22 14:17:48 +08:00
  • ac0fc774cb Merge branch 'main' into feature/windows wangjia 2026-06-22 14:17:19 +08:00
  • 322d806876 fix+build(client/windows): 复查修缮——一键构建脚本 + 修 README dart-define 漏项 + 清 lint wangjia 2026-06-22 14:17:13 +08:00
  • a19406d041 feat(test): VPN 黑盒/白盒测试工具 + 索引页 + 链路时序图与阶段拆解 wangjia 2026-06-22 14:12:46 +08:00
  • bc890974c0 fix(server): 补 #5 国内分流的 DNS 面 + 链路诊断端点(#12) wangjia 2026-06-22 14:12:31 +08:00
  • 98ba2b411e test: VPN 黑盒测试工具改用 Python(零依赖)+ HTML 报告 + 国内外站点矩阵 wangjia 2026-06-22 09:43:46 +08:00