If the websocket is interrupted and we reconnect it trought reconnectIfNotNormalClose parameter, after closing the websocket manually in the background the setTimout and the reconnecting logic is always present and it tries to reconnect it to websocket.
This change is setting on manually close method the reconnectIfNotNormalClose to false and the timeout logic is handling the status of the paramter.
If the websocket is interrupted and we reconnect it trought reconnectIfNotNormalClose parameter, after closing the websocket manually in the background the setTimout and the reconnecting logic is always present and it tries to reconnect it to websocket.
This change is setting on manually close method the reconnectIfNotNormalClose to false and the timeout logic is handling the status of the paramter.