Move WebSocket automatic reconnection to streamer service
Move the logic for automatically reconnecting to the WebSocket after an unexpected disconnection from the `Socket` WebSocket wrapper class to the `StreamerService` service. The Socket class is now responsible only for notifying the caller of unexpected disconnections. Letting StreamerService handle reconnection ensures that a fresh WebSocket URL, with a current access token, is used on each attempt. The previous approach would re-use the same URL on each attempt. This could lead to an obsolete access token being used, with the result that the WebSocket connection degraded to an unauthenticated one and not all expected updates were received. As part of this change, the logic for calculating the retry delay has been simplified and no longer uses the `retry` package, hopefully making the behavior easier to understand.
Showing
Please register or sign in to comment