AOSSIE-Org / AOSSIE-Org/DebateAI
[BUG]: WebSocket URLs hardcoded to ws://localhost:1313 — breaks any non-local deployment
- Lingua principale
- TypeScript
- Stelle
- 84
- Fork
- 198
- Merge medio
- 2g 19h
- PR unite (30g)
- 30
Descrizione
### 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
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript, vite
- Ambito
- api, frontend
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 72/100