from fastapi import APIRouter, WebSocket, WebSocketDisconnect from services.ws_manager import manager router = APIRouter() @router.websocket("/ws") async def websocket_endpoint(ws: WebSocket): await manager.connect(ws) try: while True: # We only push from server → client. # receive_text() keeps the connection alive. await ws.receive_text() except WebSocketDisconnect: manager.disconnect(ws)