AOSSIE-Org / AOSSIE-Org/DebateAI

Role selection not locked + Ready allowed without role in OnlineDebateRoom

未关闭
#290 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
84
派生
198
平均合并
2 天 19 小时
30 天内合并 PR
30

描述

In the OnlineDebateRoom setup flow, users can currently select For/Against in ways that break debate consistency.

## Current Problems
1. Both users can choose the same role (ex: both choose "For")
2. Users can change role after selecting once
3. Users can click Ready without selecting a role
4. UI does not disable role buttons properly when opponent already selected that role

## Expected Behavior
- Only one user can choose "For" and only one can choose "Against"
- Once a user selects a role, it should be locked
- Ready should be blocked unless a role is selected
- Role buttons should disable correctly based on:
- peerRole
- localReady
- peerReady
- debatePhase != setup

## Steps to Reproduce
1. Open the same debate room in 2 browsers/incognito tabs
2. Both users select the same role (For)
3. Click Ready
4. Observe inconsistent role assignment / broken setup

## Proposed Fix
- Enforce role lock in backend WebSocket handler (handleRoleSelection)
- Block Ready unless role is selected (handleReadyStatus)
- Disable role buttons correctly in frontend setup popup

## Files
- backend/websocket/websocket.go
- frontend/src/Pages/OnlineDebateRoom.tsx

##Screen Recording:

https://github.com/user-attachments/assets/f25c844d-ab2c-40b7-a02c-609cb9c34008

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。