-
eafc7167e2
chore(client): 版本号 1.0.15+16(自适应菜单 + 节点切换防误触)
wangjia
2026-06-29 10:11:48 +08:00
-
73da0bc9a2
feat(client): 节点列表防误触 — 已连接时切换节点先弹确认
wangjia
2026-06-29 10:11:20 +08:00
-
6788501e4a
feat(client): 通用自适应弹出菜单(按屏幕位置上/下弹,不挡触发器)
wangjia
2026-06-29 10:11:20 +08:00
-
880fa32793
fix(devices): 本机也显示 ⋯ 菜单(只「重命名」)—— 修单设备无法改名(1.0.14)
wangjia
2026-06-29 09:49:09 +08:00
-
315c343ed5
feat(devices): 设备默认名「平台简写·主机名」+ 支持重命名(1.0.13)
wangjia
2026-06-29 09:12:36 +08:00
-
878cef9e52
build(client): 1.0.12 — 设备下拉接已登录设备 + 版本对齐(pubspec=iss=1.0.12)
wangjia
2026-06-29 08:41:37 +08:00
-
8a1db07d19
fix(devices+stats): /v1/me/devices 401 修复 + 设备下拉接已登录设备 + 版本号
wangjia
2026-06-29 08:37:11 +08:00
-
ea548ad7cf
fix(deploy): agent 不再随 server 停 —— 解耦 systemd 依赖(#8 静默掉线根因)
wangjia
2026-06-29 08:22:20 +08:00
-
3a8e27b5b0
build(client/windows): 版本 bump 1.0.10 → 1.0.11(设备会话管理+统计时区+设备过滤)
wangjia
2026-06-29 08:08:47 +08:00
-
e333f59cb3
feat(stats): #10 第②层 —— 统计页按设备过滤(per-device 本地日曲线)
wangjia
2026-06-29 08:04:33 +08:00
-
5dcebb77fd
feat(stats): 统计页设备下拉接真实设备(#10 第①层)
wangjia
2026-06-29 07:04:20 +08:00
-
f2499a64e1
fix(usage): 统计按客户端本地日聚合 —— 修「29号却显示28号数据」时区 bug
wangjia
2026-06-29 07:02:04 +08:00
-
606e5e9e54
docs(plan): P4 收口 —— 每设备归因链路已交付,展示层过滤归 #10
wangjia
2026-06-29 06:14:19 +08:00
-
58526b09e6
feat(client): P6 DevicesScreen 重做 + DevicePlatform 枚举
wangjia
2026-06-29 06:10:37 +08:00
-
bcc114088c
feat(devices): P3 强制退出 + 清除增强(per-device 凭证吊销)
wangjia
2026-06-29 06:01:41 +08:00
-
2f298f0a0a
feat(devices): P2 sessions 表 + 在线/最后登录/客户端版本
wangjia
2026-06-29 00:50:24 +08:00
-
8370ee1eb7
chore: 删除误入库的一次性临时文件(tmphash / zz_tmpverify_test)
wangjia
2026-06-29 00:28:54 +08:00
-
c0c4b94e29
feat(devices): P1 设备注册打通 —— 登录/注册即写 devices 表
wangjia
2026-06-29 00:28:13 +08:00
-
889cff4556
docs(plan): 设备&会话管理 实现计划 P1-P6(md执行源 + html阅读版 + 登记 + 链接)
wangjia
2026-06-29 00:15:35 +08:00
-
7fd2fed441
docs(design): §7 UI 改真实 token 视觉稿(替换字符画)
wangjia
2026-06-29 00:05:15 +08:00
-
e8261e8984
docs(design): 换用户uuid不变(唯一键改 UNIQUE(user_id,uuid)) + 按设备去重健壮性
wangjia
2026-06-28 23:54:52 +08:00
-
a3731ce11c
docs(design): 补 device uuid 生成机制(随机UUIDv4+安全存储+重装影响)
wangjia
2026-06-28 23:46:37 +08:00
-
c1994ad048
docs(design): devices 表补全字段 + name来源/三时间戳/按设备限登录数 释疑
wangjia
2026-06-28 23:43:37 +08:00
-
31ac76e3d5
docs(design): 设备&会话管理 + 每设备流量归因 全局设计(HTML)
wangjia
2026-06-28 23:29:47 +08:00
-
0bc39ebeba
docs(claude): 更新节点信息 racknerd → pangolin1(已迁移)
wangjia
2026-06-28 22:54:11 +08:00
-
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 清理 + 协议选择)
feature/stats-overhaul
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