AOSSIE-Org / AOSSIE-Org/DebateAI
[BUG]: WebSocket URLs hardcoded to ws://localhost:1313 — breaks any non-local deployment
- 主要语言
- TypeScript
- 星标
- 84
- 派生
- 198
- 平均合并
- 2 天 19 小时
- 30 天内合并 PR
- 30
描述
### Bug Description
Several frontend WebSocket call sites hardcode the backend address instead of deriving it from `VITE_BASE_URL`:
- `frontend/src/components/Matchmaking.tsx` line 62
- (same pattern in other raw `new WebSocket(...)` call sites: `ChatRoom.tsx`, `TeamDebateRoom.tsx`, `Game.tsx`, `gamificationService.ts`)
`frontend/src/components/DebatePopup.tsx` line 31 also hardcodes `http://localhost:1313` for room creation.
## Impact
Matchmaking, chat, and room creation silently fail on any deployed environment (or even when the backend runs on a different port). The UI shows a permanent "connecting"/"Searching…" state with no error.
## Suggested Fix
Build WS URLs from `import.meta.env.VITE_BASE_URL` (swapping `http` → `ws`), in one shared helper.
### Steps to Reproduce
_No response_
### Logs and Screenshots
_No response_
### Environment Details
_No response_
### 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
贡献指南
这个仓库没有索引到贡献指南
调研方向
Start with the raw new WebSocket(...) call sites in frontend/src/components/Matchmaking.tsx, ChatRoom.tsx, TeamDebateRoom.tsx, Game.tsx, and gamificationService.ts, then inspect frontend/src/components/DebatePopup.tsx and the VITE_BASE_URL usage. Confirm the shared URL approach works for deployed and non-default backend addresses, and verify that matchmaking, chat, and room creation no longer use hardcoded localhost URLs.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- typescript, vite
- 领域
- api, frontend
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 冷清
- 描述清晰度
- 描述清楚
- 新手友好度
- 72/100