delivery_error. Command acknowledgements also return typed failures. Errors include code, message, fatal, and retryable. A fatal error is followed by disconnection; the error itself is best-effort if the transport has already failed.
Socket.IO owns heartbeat detection and reconnect backoff. After any automatic reconnect, subscribe with your last successfully processed cursor. A terminal application violation causes an explicit server disconnect: fix its cause before calling connect() again. Authentication failures before connection appear as connect_error; correct the credential or project rather than retrying indefinitely.