• Robert Knight's avatar
    Move WebSocket automatic reconnection to streamer service · d9a017a2
    Robert Knight authored
    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.
    d9a017a2
websocket.js 3.41 KB