I don't have a solid way to repro the issue, but this should hopefully
help in resolving it. Either way, I think this change brings more
correct behaviour (if a websocket message comes through that we have
left the channel, I don't believe we should be sending a request to
leave that channel again).