AOSSIE-Org / AOSSIE-Org/DebateAI
Role selection not locked + Ready allowed without role in OnlineDebateRoom
- 主要语言
- 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 还没有评估数据。