AOSSIE-Org / AOSSIE-Org/DebateAI

Role selection not locked + Ready allowed without role in OnlineDebateRoom

Aperta
#290 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
84
Fork
198
Merge medio
2g 19h
PR unite (30g)
30

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.