AOSSIE-Org / AOSSIE-Org/DebateAI

[BUG]: Opponent video does not reliably appear in 2v2 team debates

Đang mở
#423 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
TypeScript
Star
84
Fork
198
Merge trung bình
2 ngày 19 giờ
Pull request đã merge (30 ngày)
30

Mô tả

### Bug Description

In a 2v2 team debate, participants can successfully join the same room, but one or more opponent video streams do not appear.

The participant cards are displayed correctly, but the remote video remains blank. The issue may depend on the order in which users join. A video connection can also disappear permanently after a temporary network interruption.

The WebRTC offer can be sent before the target participant is online. That failed offer is marked as initiated and is not retried when the participant joins.

### Steps to Reproduce

1. Create two teams with two members each.
2. Start a 2v2 team debate.
3. Open the debate using four different accounts.
4. Join the room sequentially from different browsers or devices.
5. Allow camera and microphone access for every participant.
6. Observe the opponent-team video cards.
7. Temporarily interrupt one participant's network connection and reconnect it.
8. Notice that one or more remote videos remain blank or do not recover.

### Logs and Screenshots

https://github.com/user-attachments/assets/78cb8725-fa5d-4135-936a-9295ad5f5076

### Environment Details

- OS: Windows 11
- Browser: Google Chrome
- Frontend: React with Vite
- Backend: Go
- Runtime: Docker Compose
- Testing: Separate accounts and devices
- Network: Different networks, with the backend exposed through ngrok
- Debate mode: 2v2 team debate

### Impact

Critical - Application is unusable

### Code of Conduct

- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Start by reproducing the 2v2 team debate flow with four accounts in the React/Vite frontend and Go backend under Docker Compose, as described in the issue. Trace the WebRTC offer flow around participant join order and temporary disconnects. Done means opponent video cards show remote streams reliably after late joins and reconnects, rather than leaving blank video permanently.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
docker-compose, go, react, typescript, vite
Lĩnh vực
audio-video-rtc, backend, frontend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.