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
- if the connection is closed before the response is received, the
inflightSubscribe is put back into the pendingSubscribe queue
- the subscribe will be retried when the socket reconnects
- the only way to hit this error state is to have unset (or never set?!)
inflightSubscribe, which only happens:
- from the stack trace, it's clear we're receiving a message, so we know the socket is connected