Skip to content

[BUG]: Online debate room does not synchronize opponent and ready status #405

Description

@priyanshunitr

Bug Description

When two authenticated users join the same online debate room, real-time room state is not reliably synchronized between them.

The creator may continue seeing “Waiting for opponent” after the opponent joins. Role selections and ready-status changes may also fail to appear on the other user's screen.

The issue becomes especially noticeable after selecting a debate role, after which subsequent WebSocket events can stop being processed.

Steps to Reproduce

  1. Start the frontend and backend.
  2. Sign in using two different accounts in separate browser profiles.
  3. From account A, create an online debate room.
  4. From account B, join using the room code.
  5. Select a debate role from either account.
  6. Press “I'm Ready”.
  7. Observe the participant, role, or ready state on the other account.

Logs and Screenshots

No response

Environment Details

  • OS: Microsoft Windows 11 Home Single Language (10.0.26200)
  • Browser: Google Chrome 151
  • Node.js: v24.18.0
  • npm: 11.18.0
  • Go: 1.26.5 (windows/amd64)
  • Docker: 29.6.2
  • Docker Compose: v5.3.1
  • Frontend: React/Vite running on port 5173
  • Backend: Go/Gin running on port 1313
  • Database: MongoDB through Docker Compose
  • Real-time services: WebSocket and Redis 7 Alpine
  • Tested using two different authenticated accounts in separate browser sessions

Impact

Critical - Application is unusable

Code of Conduct

  • I have joined the Discord server and will post updates there
  • I have searched existing issues to avoid duplicates

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions