From d2c613cd8f422b9cf2dd8a765681066d6045036a Mon Sep 17 00:00:00 2001 From: Javan Makhmali Date: Sat, 27 Jun 2015 13:13:44 -0400 Subject: Wait for connection to close before reopening it --- lib/assets/javascripts/cable/connection.js.coffee | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'lib/assets/javascripts/cable') diff --git a/lib/assets/javascripts/cable/connection.js.coffee b/lib/assets/javascripts/cable/connection.js.coffee index cd9539a6aa..98af9ad8ab 100644 --- a/lib/assets/javascripts/cable/connection.js.coffee +++ b/lib/assets/javascripts/cable/connection.js.coffee @@ -12,20 +12,23 @@ class Cable.Connection else false - open: -> + open: => @websocket = new WebSocket(@consumer.url) @websocket.onmessage = @onMessage @websocket.onopen = @onOpen @websocket.onclose = @onClose @websocket.onerror = @onError - @websocket close: -> @websocket.close() unless @isClosed() reopen: -> - @close() - @open() + if @isClosed() + @open() + else + @websocket.onclose = @open + @websocket.onerror = @open + @websocket.close() isOpen: -> @websocket.readyState is WebSocket.OPEN -- cgit v1.2.3