Keeps the scope UI's CPU usage low in the browser when the backend is
not reachable
* dont update app state when repeated errors come in
* dont update app state when websocket keeps failing
* adjust first loading text, and show icon to draw attention