diff --git a/js/websocket.js b/js/websocket.js index 69f914c5d3..a1c88b578d 100644 --- a/js/websocket.js +++ b/js/websocket.js @@ -25,7 +25,10 @@ */ window.textsecure.websocket = function (url) { - var socketWrapper = { onmessage: function() {}, ondisconnect: function() {} }; + var socketWrapper = { + onmessage : function() {}, + ondisconnect : function() {}, + }; var socket; var keepAliveTimer; var reconnectSemaphore = 0; @@ -34,7 +37,13 @@ function resetKeepAliveTimer() { clearTimeout(keepAliveTimer); keepAliveTimer = setTimeout(function() { - socket.send(JSON.stringify({type: 1, id: 0})); + socket.send( + new textsecure.protobuf.WebSocketMessage({ + type: textsecure.protobuf.WebSocketMessage.Type.REQUEST, + request: { verb: 'GET', path: '/v1/keepalive' } + }).encode().toArrayBuffer() + ); + resetKeepAliveTimer(); }, 15000); }; @@ -45,7 +54,7 @@ socketWrapper.ondisconnect(e); }; - var connect = function() { + function connect() { clearTimeout(keepAliveTimer); if (++reconnectSemaphore <= 0) { return; } @@ -64,7 +73,7 @@ socketWrapper.send = function(msg) { socket.send(msg); } - }; + } connect(); return socketWrapper;