This repository was archived by the owner on May 5, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 29
Exponential backoff does not work #17
Copy link
Copy link
Open
Description
Elm Version: 0.18
OS: Mac OS X
Browser: Chrome
SSCCE:
Because this is a bug internal to the websocket library, it can't be illustrated in an isolated example. Here are the simplest steps to reproduce:
- Make a local copy of the echo example
- Manually edit
Websocket.elmin theelm-stuff/packages/websocket/1.0.2directory. Add log statements to this line and this line so that you can see when they are fired. - Change the echoServer uri to something bogus to trigger reconnect behavior and run the application
- Check the console and notice that the debug statement on this line is never executed, which is responsible for incrementing the connect attempt count that the backoff strategy is dependent on.
Detailed description:
The BadOpen message is never dispatched, presumably because the Die message is dispatched with every failed connect attempt. This appears to be happening because the native websocket onClose handler is fired every failed connect attempt, and then onSelfMsg handles the Die message, resetting the connection state.
It appears that the browser itself does some sort of connection throttling, which may be why this issue has gone unnoticed.
Metadata
Metadata
Assignees
Labels
No labels