From 81744c584eeaf7853ecd3a6876e8c6c4bb3150b2 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Mon, 7 Nov 2016 22:53:07 +0100 Subject: [PATCH] Merge wrapper js modifications --- src/Ui/media/all.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Ui/media/all.js b/src/Ui/media/all.js index e0900177..7b253037 100644 --- a/src/Ui/media/all.js +++ b/src/Ui/media/all.js @@ -41,7 +41,9 @@ this.ws.onmessage = this.onMessage; this.ws.onopen = this.onOpenWebsocket; this.ws.onerror = this.onErrorWebsocket; - return this.ws.onclose = this.onCloseWebsocket; + this.ws.onclose = this.onCloseWebsocket; + this.connected = false; + return this.message_queue = []; }; ZeroWebsocket.prototype.onMessage = function(e) { @@ -94,7 +96,12 @@ message.id = this.next_message_id; this.next_message_id += 1; } - this.ws.send(JSON.stringify(message)); + if (this.connected) { + this.ws.send(JSON.stringify(message)); + } else { + this.log("Not connected, adding message to queue"); + this.message_queue.push(message); + } if (cb) { return this.waiting_cb[message.id] = cb; } @@ -107,7 +114,15 @@ }; ZeroWebsocket.prototype.onOpenWebsocket = function(e) { + var message, _i, _len, _ref; this.log("Open"); + this.connected = true; + _ref = this.message_queue; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + message = _ref[_i]; + this.ws.send(JSON.stringify(message)); + } + this.message_queue = []; if (this.onOpen != null) { return this.onOpen(e); } @@ -125,6 +140,7 @@ reconnect = 10000; } this.log("Closed", e); + this.connected = false; if (e && e.code === 1000 && e.wasClean === false) { this.log("Server error, please reload the page", e.wasClean); } else { @@ -149,6 +165,7 @@ }).call(this); + /* ---- src/Ui/media/lib/jquery.cssanim.js ---- */ @@ -521,7 +538,6 @@ jQuery.extend( jQuery.easing, }).call(this); - /* ---- src/Ui/media/Loading.coffee ---- */