On some mobile networks/browsers the wss:// upgrade is blocked even though the page loads (the server side is verified working: a browser-style handshake gets 101). After three socket failures the header now shows "polling (5s)" instead of a misleading perpetual "reconnecting", since the 5s REST poll keeps all data correct. The socket error handler also surfaces the browser's message.