Reconnect provisioning socket
If the provisioning socket closes, reconnect and generate a new qr code. Fixes #371 // FREEBIE
This commit is contained in:
parent
47befdbf61
commit
9b12d8a978
3 changed files with 36 additions and 28 deletions
|
@ -39073,10 +39073,11 @@ var TextSecureServer = (function() {
|
||||||
var registerKeys = this.server.registerKeys.bind(this.server);
|
var registerKeys = this.server.registerKeys.bind(this.server);
|
||||||
var getSocket = this.server.getProvisioningSocket.bind(this.server);
|
var getSocket = this.server.getProvisioningSocket.bind(this.server);
|
||||||
return textsecure.protocol_wrapper.createIdentityKeyRecvSocket().then(function(cryptoInfo) {
|
return textsecure.protocol_wrapper.createIdentityKeyRecvSocket().then(function(cryptoInfo) {
|
||||||
return new Promise(function(resolve) {
|
return new Promise(function(resolve, reject) {
|
||||||
var socket = getSocket();
|
var socket = getSocket();
|
||||||
socket.onclose = function(e) {
|
socket.onclose = function(e) {
|
||||||
console.log('websocket closed', e.code);
|
console.log('websocket closed', e.code);
|
||||||
|
reject(new Error('websocket closed'));
|
||||||
};
|
};
|
||||||
var wsr = new WebSocketResource(socket, {
|
var wsr = new WebSocketResource(socket, {
|
||||||
keepalive: { path: '/v1/keepalive/provisioning' },
|
keepalive: { path: '/v1/keepalive/provisioning' },
|
||||||
|
|
|
@ -61,10 +61,13 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
|
var accountManager = new bg.getAccountManager();
|
||||||
|
|
||||||
|
var init = function() {
|
||||||
$('#init-setup').show().addClass('in');
|
$('#init-setup').show().addClass('in');
|
||||||
|
$('#qr').html('');
|
||||||
$('#status').text("Connecting...");
|
$('#status').text("Connecting...");
|
||||||
|
|
||||||
var accountManager = new bg.getAccountManager();
|
|
||||||
accountManager.registerSecondDevice(setProvisioningUrl, confirmNumber, incrementCounter).then(function() {
|
accountManager.registerSecondDevice(setProvisioningUrl, confirmNumber, incrementCounter).then(function() {
|
||||||
var launch = function() {
|
var launch = function() {
|
||||||
bg.openInbox();
|
bg.openInbox();
|
||||||
|
@ -76,9 +79,10 @@
|
||||||
bg.addEventListener('textsecure:contactsync', launch);
|
bg.addEventListener('textsecure:contactsync', launch);
|
||||||
$('.progress-dialog .status').text('Syncing groups and contacts');
|
$('.progress-dialog .status').text('Syncing groups and contacts');
|
||||||
$('.progress-dialog .bar').addClass('progress-bar-striped active');
|
$('.progress-dialog .bar').addClass('progress-bar-striped active');
|
||||||
|
|
||||||
}).catch(function(e) {
|
}).catch(function(e) {
|
||||||
if (e.name === 'HTTPError' && e.code == 411) {
|
if (e.message === 'websocket closed') {
|
||||||
|
init();
|
||||||
|
} else if (e.name === 'HTTPError' && e.code == 411) {
|
||||||
$('.progress-dialog').hide();
|
$('.progress-dialog').hide();
|
||||||
$('.error-dialog').show();
|
$('.error-dialog').show();
|
||||||
$('.error-dialog .ok').click(function(e) {
|
$('.error-dialog .ok').click(function(e) {
|
||||||
|
@ -89,6 +93,8 @@
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
init();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -36,10 +36,11 @@
|
||||||
var registerKeys = this.server.registerKeys.bind(this.server);
|
var registerKeys = this.server.registerKeys.bind(this.server);
|
||||||
var getSocket = this.server.getProvisioningSocket.bind(this.server);
|
var getSocket = this.server.getProvisioningSocket.bind(this.server);
|
||||||
return textsecure.protocol_wrapper.createIdentityKeyRecvSocket().then(function(cryptoInfo) {
|
return textsecure.protocol_wrapper.createIdentityKeyRecvSocket().then(function(cryptoInfo) {
|
||||||
return new Promise(function(resolve) {
|
return new Promise(function(resolve, reject) {
|
||||||
var socket = getSocket();
|
var socket = getSocket();
|
||||||
socket.onclose = function(e) {
|
socket.onclose = function(e) {
|
||||||
console.log('websocket closed', e.code);
|
console.log('websocket closed', e.code);
|
||||||
|
reject(new Error('websocket closed'));
|
||||||
};
|
};
|
||||||
var wsr = new WebSocketResource(socket, {
|
var wsr = new WebSocketResource(socket, {
|
||||||
keepalive: { path: '/v1/keepalive/provisioning' },
|
keepalive: { path: '/v1/keepalive/provisioning' },
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue