--- issue: 091 title: "Frontend: dual socket connections (SocketProvider + socketService singleton)" severity: medium domain: Realtime labels: [bug, frontend, performance] status: open created: 2026-05-30 source: Full Codebase Audit 2026-05-30 --- # Frontend: dual socket connections (SocketProvider + socketService singleton) **Severity:** medium **Domain:** Realtime **Labels:** bug, frontend, performance ## Description `src/socket/lib/socket-service.ts:217` creates a standalone socket.io connection separate from the `SocketProvider` context. Both may connect simultaneously, resulting in duplicate connections to the backend, doubled event delivery, and doubled auth overhead. ## Options 1. Make `socketService` delegate to the `SocketProvider` connection (single source of truth). 2. Migrate all `actions/chat.ts` usages to the context provider and delete `socketService`. 3. Keep both but ensure only one actually connects. ## Recommendation Consolidate onto `SocketProvider` and refactor `socketService` callers; remove the duplicate connection. This is a large refactor. ## Affected Files - `frontend/src/socket/lib/socket-service.ts:217` - `frontend/src/actions/chat.ts` — socketService callers ## References - [Full Codebase Audit 2026-05-30](../09%20-%20Audits/Full%20Codebase%20Audit%20-%202026-05-30.md) — DEC-21