AOSSIE-Org / AOSSIE-Org/DebateAI
[BUG]: Opponent video stream is not displayed in online debate rooms
- 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
When two users join the same online debate room, each user can see their own camera stream, but the opponent's video is not displayed.
The WebRTC offer was created only after the countdown and depended on one user selecting the "for" role. WebRTC offers and ICE candidates could also arrive before the receiving user's camera or remote connection description was ready, causing video negotiation to fail.
### Steps to Reproduce
1. Sign in with two different accounts.
2. Open DebateAI on two devices or browsers.
3. Create an online debate room with the first account.
4. Join the room using the second account.
5. Allow camera and microphone access on both devices.
6. Observe the video panels.
7. Each participant can see their own video, but the opponent's video remains blank.
### Logs and Screenshots
### Environment Details
- OS: Windows 11
- Browsers: Brave / Google Chrome
- Frontend: React 18, TypeScript and Vite
- Real-time communication: WebRTC and WebSocket
- Backend: Go
- Environment: Local Docker Compose setup
- Testing setup: Two different accounts on two separate devices
- Network exposure: ngrok tunnel connected to one shared backend
- Camera and microphone permissions: Enabled on both devices
### Impact
High - Major feature is broken
### 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 room with two accounts, then inspect the React/TypeScript WebRTC signaling flow for offer creation, ICE candidates, camera readiness, and remote descriptions. Done means both participants consistently see the opponent's stream, regardless of role or countdown timing, including when signaling arrives before the receiving connection is ready.
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
- 45/100