AOSSIE-Org / AOSSIE-Org/DebateAI

[BUG]: WebSocket URLs hardcoded to ws://localhost:1313 — breaks any non-local deployment

Open
#394 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
84
Forks
198
Avg merge
2d 19h
Merged PRs (30d)
30

Description

### 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

Contributor guide

No contributing guide indexed for this repository

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vite
Domain
api, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.