Reading received messages on shutdown requires verbosely matching on WebSocket errors to prevent the shard from automatically reconnecting. While potentially useful for debugging, my experience is that WebSocket errors are generally just noise, and as such they are replaced with close messages with a status code of 1006 indicating abnormal closure. This has the secondary benefit of removing confusion about transport errors being somehow actionable (any internet connection may naturally error at any time for reasons outside of your control).
Reading received messages on shutdown requires verbosely matching on WebSocket errors to prevent the shard from automatically reconnecting. While potentially useful for debugging, my experience is that WebSocket errors are generally just noise, and as such they are replaced with close messages with a status code of 1006 indicating abnormal closure. This has the secondary benefit of removing confusion about transport errors being somehow actionable (any internet connection may naturally error at any time for reasons outside of your control).