问题根因: - 之前使用异步的 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> |
||
|---|---|---|
| .. | ||
| .claude | ||
| api-gateway | ||
| infrastructure | ||
| mpc-system | ||
| scripts | ||
| services | ||
| .env.windows | ||
| docker-compose.windows.yml | ||