问题根因: - 之前使用异步的 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> |
||
|---|---|---|
| .. | ||
| account | ||
| message-router | ||
| server-party | ||
| server-party-api | ||
| server-party-co-managed | ||
| service-party-android | ||
| service-party-app | ||
| session-coordinator | ||
| tss-wasm | ||