rwadurian/backend/mpc-system/services/service-party-android/app
hailin 8a9a983cbd fix(android): 使用同步标志修复参与方显示4/3的竞态条件bug
问题根因:
- 之前使用异步的 sessionStatus 检查来防止 participant_joined 事件
  在 session_started 之后继续添加参与方
- 但 sessionStatus 是通过 StateFlow 异步更新的,检查时状态可能还未更新
- 导致 participant_joined 事件仍能添加额外的参与方,显示4/3而非3/3

解决方案:
- 添加同步标志 sessionStartedForSession: String?
- 在 session_started 处理器的最开始同步设置此标志
- 在 participant_joined 处理器中检查此标志,而非异步状态
- 由于回调是顺序处理的,这种方式100%可靠

修改内容:
1. 添加 sessionStartedForSession 私有成员变量
2. 在 session_started 事件处理开始时立即设置标志
3. 在 participant_joined 事件处理开始时检查标志
4. 在所有 reset 方法中重置标志:
   - resetSessionState()
   - resetJoinKeygenState()
   - resetCoSignState()
   - resetTransferState()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 09:08:13 -08:00
..
libs feat(android): add Android TSS Party app with full API implementation 2025-12-31 23:27:29 -08:00
src/main fix(android): 使用同步标志修复参与方显示4/3的竞态条件bug 2026-01-27 09:08:13 -08:00
build.gradle.kts fix(tss): 修复备份恢复后签名失败的问题 2026-01-20 00:39:05 -08:00
proguard-rules.pro feat(android): add Android TSS Party app with full API implementation 2025-12-31 23:27:29 -08:00