We're getting this error:  The error is happening because a subscribe response is being received over the WebSocket, but there's no `inflightSubscribe` set. I've rummaged around in the code (which I wrote 😅 🙈 ) and I'm not really sure how we get into this state. As far as I can tell: - we should only get a subscribe response after sending a subscribe request - a subscribe request can only be flushed [when `!!connection.canSend`](https://github.com/share/sharedb/blob/ab2341eb794938ac6e5b155d21b0e88029b32a02/lib/client/doc.js#L466) - if the connection is closed before the response is received, the `inflightSubscribe` is [put back](https://github.com/share/sharedb/blob/ab2341eb794938ac6e5b155d21b0e88029b32a02/lib/client/doc.js#L402-L403) into the `pendingSubscribe` queue - the subscribe [will be retried](https://github.com/share/sharedb/blob/ab2341eb794938ac6e5b155d21b0e88029b32a02/lib/client/doc.js#L393) when the socket reconnects - the only way to hit this error state is to have unset (or never set?!) `inflightSubscribe`, which only happens: - [before a subscribe request is sent](https://github.com/share/sharedb/blob/ab2341eb794938ac6e5b155d21b0e88029b32a02/lib/client/doc.js#L69) - [when the connection is closed](https://github.com/share/sharedb/blob/ab2341eb794938ac6e5b155d21b0e88029b32a02/lib/client/doc.js#L403) - [after handling a subscribe response](https://github.com/share/sharedb/blob/ab2341eb794938ac6e5b155d21b0e88029b32a02/lib/client/doc.js#L311) - from the stack trace, it's clear we're receiving a message, so we know the socket is connected