websocket error handling moved to view