rwadurian/backend
hailin 05c6ab3dc4 docs(android): 添加调试日志指南和2-of-3流程分析
添加两份关键调试文档:

## 1. DEBUG_LOG_GUIDE.md - 日志抓取指南
- 详细的日志抓取命令(adb logcat)
- 关键日志检查点(会话创建、事件触发、keygen启动)
- 日志分析流程图
- 常见陷阱和解决方案
- 完整的日志模板

## 2. 2OF3_FLOW_ANALYSIS.md - 2-of-3钱包创建流程深度分析

### 已发现的5个潜在Bug:

**Bug 1: 事件回调中的异常处理不一致**
- 发起者:在事件回调中用 safeLaunch 包裹
- 加入者:在函数内部用 safeLaunch
- 位置不同可能导致异常处理行为不一致

**Bug 2: safeLaunch 双重包裹可能导致静默失败** 🚨
- startKeygenAsInitiator 在事件回调中被 safeLaunch 包裹
- 函数内部已经处理了 Result.failure
- 外层 safeLaunch 只能捕获运行时异常
- 如果内部更新了错误但UI已切换状态,用户可能看不到错误

**Bug 3: 参与者数量不足时没有明确错误**
- server-party-co-managed 未加入时,会话不会启动
- 但没有超时提示,用户一直等待

**Bug 4: getSessionStatus 失败时参与者列表不准确**
- 失败时只显示自己
- 实际可能已有多个参与者
- 误导用户

**Bug 5: startKeygenAsJoiner 中的 return 没有错误处理**
- joinInfo 为 null 时静默返回
- 用户不知道为什么 keygen 没启动

### 创建失败的3个最可能原因:

1. **server-party-co-managed 没有正确加入** (70%)
   - 需要检查配置和日志

2. **session_started 事件没有被触发** (20%)
   - 参与者数量不足
   - WebSocket 连接问题

3. **startKeygenAsInitiator 失败但错误被忽略** (8%)
   - Result.failure 被处理但UI没显示

### 提供的调试步骤:
1. 检查 server-party-co-managed 状态
2. 抓取手机日志(提供完整命令)
3. 搜索关键日志片段

### 推荐修复方案:
1. 统一事件回调异常处理
2. 移除双重 safeLaunch
3. 添加超时机制

下一步:用户需要抓取日志进行精确诊断

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-26 23:27:43 -08:00
..
.claude refactor: simplify mpc-service to gateway mode 2025-12-06 17:16:14 -08:00
api-gateway fix(kong): remove ws/wss protocols from WebSocket route 2026-01-18 21:36:30 -08:00
infrastructure chore(docker): 为 mpc-system、api-gateway、infrastructure 添加时区配置 2025-12-23 18:35:09 -08:00
mpc-system docs(android): 添加调试日志指南和2-of-3流程分析 2026-01-26 23:27:43 -08:00
scripts fix(scripts): 修正容器名为 rwa-blockchain-service 2025-12-15 10:34:25 -08:00
services fix(contribution-service): CDC planting_orders 阶段按 order_id 排序处理 2026-01-23 03:41:14 -08:00
.env.windows fix(referral): 修复 getMyReferralInfo 使用 userId 而不是 accountSequence 的问题 2025-12-14 05:05:03 -08:00
docker-compose.windows.yml feat(service-party-app): implement co-sign multi-party signing 2025-12-30 18:36:11 -08:00