aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJavan Makhmali <javan@javan.us>2015-08-28 17:52:46 -0400
committerJavan Makhmali <javan@javan.us>2015-08-28 17:52:46 -0400
commitddfd649c11cad494a678f3baeb7b0873f4ad6fa9 (patch)
treef2251a077f66a3307f3cc3fa32d8af87be74c316 /lib
parent1379e973bef49b087dfb680756740665e3fe879c (diff)
downloadrails-ddfd649c11cad494a678f3baeb7b0873f4ad6fa9.tar.gz
rails-ddfd649c11cad494a678f3baeb7b0873f4ad6fa9.tar.bz2
rails-ddfd649c11cad494a678f3baeb7b0873f4ad6fa9.zip
Only send "disconnected" notification once
Diffstat (limited to 'lib')
-rw-r--r--lib/assets/javascripts/cable/connection.js.coffee10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/assets/javascripts/cable/connection.js.coffee b/lib/assets/javascripts/cable/connection.js.coffee
index 73a40acfe4..2259ddcedd 100644
--- a/lib/assets/javascripts/cable/connection.js.coffee
+++ b/lib/assets/javascripts/cable/connection.js.coffee
@@ -47,13 +47,19 @@ class Cable.Connection
@consumer.subscriptions.notify(identifier, "received", message)
open: ->
+ @disconnected = false
@consumer.subscriptions.reload()
close: ->
- @consumer.subscriptions.notifyAll("disconnected")
+ @disconnect()
error: ->
- @consumer.subscriptions.notifyAll("disconnected")
+ @disconnect()
+
+ disconnect: ->
+ return if @disconnected
+ @disconnected = true
+ @consumer.subscriptions.notifyAll("disconnected")
toJSON: ->
state: @getState()