 sansenandClaude Fable 5
|
8716b391f6
|
工程改进:跨语言契约固化、日志脱敏、状态模型收敛
依据 docs/项目工程改进方案.md 实施(第五梯队 CI/协作除外)。
安全性
- Release 剥离 Log.v/d/i/w(-assumenosideeffects),保留 Log.e
- 全量频道/成员 dump、消息正文、发送者 UID 改为 BuildConfig.DEBUG 保护
(实测 release dex 中 "Channel: id=" / "Client: id=" / selfId= 等均为 0 命中)
构建产物体积
- .gitignore 补 *.a(保留 .opus/lib 四个 ABI 预编译库)、.opus/install、
app/libs/*.aar、dnn/torch
- git rm --cached 除名 AAR、.gradle、.opus/{build,install}、dnn/torch
跟踪体积 50MB → 17.4MB,工作区文件不受影响
跨语言契约(本方案核心)
- 新增 go/teamspeak/contract.go:字段名常量 + BridgeContractVersion 单一事实来源
- 新增契约测试:反射断言常量与 struct tag 一致;Go/Kotlin 共用 golden 样本
- 新增 BridgeContract.kt:启动校验 AAR 契约版本,不匹配则阻止连接
- 修正文档:channel_order 是前驱频道 ID(链表指针)而非排序权重,
按它数值排序会打乱频道树;ChannelInfo.order 在 Go 侧不存在
状态模型
- ConnectionState 增 Idle 取代 null 编码,connectionState 不再可空
- applyClients 改为按频道差分更新,避免全量刷新导致频道树整体重组
- 频道数据 freshness 统一由 Repository 维护,修复 ViewModel 与 Repository
两份时间戳不同步导致的重复刷新
UI
- 修复 collectAsState() 在参数位置调用导致的 isSelf 快照失效
- 消除 9 处 !! 断言(ChannelListScreen)
- 硬编码 24.5/14.5dp 与 depth*24 收敛到 UiTokens.Spacing,缩进加 4 层上限
测试
- Kotlin 测试 7 → 106;Go 契约测试新增 24 个用例
- 各覆盖 InputValidator、消息送达确认、僵尸会话过滤、频道差分、
频道顺序语义、错误分类
其他修复
- classifyError 提取为纯函数并补测试;修复 too many clones (id=521)
未识别导致英文原文直接暴露给用户
版本号提升至 1.0.13(versionCode 13)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-10 14:58:15 +08:00 |
|
sansen
|
0ef1990d52
|
版本号提升至 1.0.12(versionCode 12)
|
2026-09-08 12:46:28 +08:00 |
|
sansen
|
d2f0e95441
|
UI/动画、交互与并发改进,与 emoji 短码完整映射
1. 交互动画:页面横移切换(登录页↔频道页、频道页↔聊天页、断开回登录页),顶部/底部栏横移过渡
2. UI 美化:重做底部当前频道栏(圆角卡片+在线人数+成员头像堆叠);聊天页输入栏圆角停靠卡、消息气泡去冗余昵称、头部在线人数;配置页字段级校验提示与最近连接删除确认弹框;PTT 按住说话震动反馈
3. 并发修复:重连状态机跨线程访问加锁与 @Volatile;桥接 ViewModel 引用、client/currentIdentity 可见性
4. emoji 短码完整映射(gemoji 1973 条 + TeamSpeak 别名 pleading),附单元测试
|
2026-09-08 12:44:33 +08:00 |
|
sansen
|
4d06ff2ade
|
1. 保活通知状态机:断开/断网时必然清除(stopForeground REMOVE + cancel);断网重连时显示“重连中”,重连成功恢复“已连接”,重连失败/放弃/服务器主动断开则清除
2. 导出崩溃日志改为 .log 文件附件(注册 FileProvider 分享,不再纯文本复制)
3. 版本号提升至 1.0.11(versionCode 11)
|
2026-08-25 14:11:30 +08:00 |
|
sansen
|
f27ba9509d
|
1. 修复真机崩溃:消息 ID 唯一化(LazyColumn 重复 key)+ 消息列表滚动先等布局完成(layout state not idle)
2. 新增 BBCode 解析:服务器欢迎消息/频道描述支持 b/i/u/s/color/size/url,链接可点击,病态输入不崩溃
3. 语音卡成员长按波纹圆角
4. 版本号提升至 1.0.10(versionCode 10)
|
2026-08-25 13:17:45 +08:00 |
|
sansen
|
10c0dea6f1
|
1. 修复房间页打字与语音卡/频道详情卡同帧叠加导致的键盘(IME)+BottomSheet 竞态闪退
2. 增强崩溃日志转储:线程/版本/设备上下文、内部+外部双路写入、512KB 轮换
3. 服务器详情卡新增“导出崩溃日志”(系统分享面板)
4. 加固消息列表自动滚动越界,跨线程状态字段加 @Volatile
5. 版本号提升至 1.0.9(versionCode 9)
|
2026-08-25 12:34:01 +08:00 |
|
sansen
|
18e2f730e7
|
1. 改服务详情卡片为侧边滑出卡片
2. 修复重连导致的通知栏信息不变更问题
|
2026-07-24 11:43:05 +08:00 |
|
sansen
|
ebc46233e5
|
1. 改服务详情卡片为侧边滑出卡片
2. 修复重连导致的通知栏信息不变更问题
|
2026-07-24 11:42:46 +08:00 |
|
sansen
|
31424f8ff6
|
修复移动网络下频繁触发重连的问题
|
2026-07-24 10:41:40 +08:00 |
|
sansen
|
4cc3047a6f
|
优化保活策略,防止意外断开导致重连
|
2026-07-24 00:26:42 +08:00 |
|
sansen
|
f968708284
|
优化保活策略,防止意外断开导致重连
|
2026-07-24 00:25:52 +08:00 |
|
sansen
|
14a39381bb
|
系统通知优化
|
2026-07-24 00:18:14 +08:00 |
|
sansen
|
d2342b8829
|
增大默认音量
|
2026-07-23 23:59:11 +08:00 |
|
sansen
|
2898d9d874
|
新增服务器重连机制,由于ts服务端不支持断线重连机制,本机制是新建与服务端连接的伪重连
|
2026-07-23 23:54:01 +08:00 |
|
sansen
|
d961c9ec2d
|
233333
|
2026-07-23 21:03:35 +08:00 |
|
sansen
|
53f286e407
|
解决默认音量过小的问题
|
2026-07-23 20:00:38 +08:00 |
|
sansen
|
20de47228b
|
UI改进
|
2026-07-23 19:44:39 +08:00 |
|
sansen
|
e8a45032f8
|
增加了发布通道
|
2026-07-23 19:37:20 +08:00 |
|
sansen
|
e3d03d74ea
|
删除不必要的提交
|
2026-07-20 19:05:08 +08:00 |
|
sansen
|
ef1bf61f9f
|
首次推送
|
2026-07-20 19:01:03 +08:00 |
|