Receiving multiple sequential errors from the server previously caused concurrent reconnection attempts to the server, resulting in compounding open connections over time. This change deduplicates the path to reconnection by only allowing a single reconnect attempt at a time.