/** * Socket controller — placeholder for real-time features. * * Real-time features now use API-based polling instead of Socket.IO * or Supabase Realtime. This file exists as a compatibility layer * for components that still reference SocketController. * * The Socket.IO server at /server/index.js is available for future * use if HF Spaces WebSocket support improves, but for now all * real-time operations go through /api/matchmaking and /api/rooms. */ class SocketController { private static instance: SocketController; public socket: null = null; public roomCode: string | null = null; public isHost: boolean = false; private constructor() {} public static getInstance(): SocketController { if (!SocketController.instance) { SocketController.instance = new SocketController(); } return SocketController.instance; } } export const socketController = SocketController.getInstance();