diff --git a/js/libtextsecure.js b/js/libtextsecure.js index 20355de94..541096718 100644 --- a/js/libtextsecure.js +++ b/js/libtextsecure.js @@ -38481,11 +38481,6 @@ TextSecureWebSocket = function (url, opts) { return new OutgoingWebSocketRequest(options, socket); }; - this.close = function(code, reason) { - if (!code) { code = 3000; } - socket.close(code, reason); - }; - socket.onmessage = function(socketMessage) { var blob = socketMessage.data; var reader = new FileReader(); @@ -38523,14 +38518,24 @@ TextSecureWebSocket = function (url, opts) { reader.readAsArrayBuffer(blob); }; + var keepalive; if (opts.keepalive) { - var keepalive = new KeepAlive(this, { + keepalive = new KeepAlive(this, { path : opts.keepalive.path, disconnect : opts.keepalive.disconnect }); this.resetKeepAliveTimer = keepalive.reset.bind(keepalive); } + + this.close = function(code, reason) { + if (!code) { code = 3000; } + socket.close(code, reason); + if (keepalive) { + keepalive.close(); + } + }; + }; function KeepAlive(websocketResource, opts) { @@ -38553,6 +38558,10 @@ TextSecureWebSocket = function (url, opts) { KeepAlive.prototype = { constructor: KeepAlive, + close: function() { + clearTimeout(this.keepAliveTimer); + clearTimeout(this.disconnectTimer); + }, reset: function() { clearTimeout(this.keepAliveTimer); clearTimeout(this.disconnectTimer); @@ -39414,7 +39423,7 @@ function generateKeys(count, progressCallback) { }); }, close: function() { - this.socket.close(); + this.wsr.close(); delete this.listeners; }, onopen: function() { diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index 57909f586..87dccb691 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -41,7 +41,7 @@ }); }, close: function() { - this.socket.close(); + this.wsr.close(); delete this.listeners; }, onopen: function() { diff --git a/libtextsecure/websocket-resources.js b/libtextsecure/websocket-resources.js index 542d80e1f..b25354dd9 100644 --- a/libtextsecure/websocket-resources.js +++ b/libtextsecure/websocket-resources.js @@ -92,11 +92,6 @@ return new OutgoingWebSocketRequest(options, socket); }; - this.close = function(code, reason) { - if (!code) { code = 3000; } - socket.close(code, reason); - }; - socket.onmessage = function(socketMessage) { var blob = socketMessage.data; var reader = new FileReader(); @@ -134,14 +129,24 @@ reader.readAsArrayBuffer(blob); }; + var keepalive; if (opts.keepalive) { - var keepalive = new KeepAlive(this, { + keepalive = new KeepAlive(this, { path : opts.keepalive.path, disconnect : opts.keepalive.disconnect }); this.resetKeepAliveTimer = keepalive.reset.bind(keepalive); } + + this.close = function(code, reason) { + if (!code) { code = 3000; } + socket.close(code, reason); + if (keepalive) { + keepalive.close(); + } + }; + }; function KeepAlive(websocketResource, opts) { @@ -164,6 +169,10 @@ KeepAlive.prototype = { constructor: KeepAlive, + close: function() { + clearTimeout(this.keepAliveTimer); + clearTimeout(this.disconnectTimer); + }, reset: function() { clearTimeout(this.keepAliveTimer); clearTimeout(this.disconnectTimer);