fixed: WebSocket auto-ping