A cleaner reconnect timeout.

This commit is contained in:
m0cs 2016-01-22 20:06:32 -03:00 committed by m0cs
parent dd6eae7f2b
commit ca222415b7

View File

@ -434,6 +434,7 @@
*/
this.send_initial_presence = true;
this.msg_counter = 0;
this.reconnectTimeout = undefined;
// Module-level functions
// ----------------------
@ -605,7 +606,8 @@
this.reconnect = function (condition) {
converse.log('Attempting to reconnect in 5 seconds');
converse.giveFeedback(__('Attempting to reconnect in 5 seconds'), 'error');
setTimeout(function () {
clearTimeout(converse.reconnectTimeout);
converse.reconnectTimeout = setTimeout(function () {
if (converse.authentication !== "prebind") {
this.connection.connect(
this.connection.jid,
@ -638,6 +640,10 @@
// By default we always want to send out an initial presence stanza.
converse.send_initial_presence = true;
delete converse.disconnection_cause;
if (!!converse.reconnectTimeout) {
clearTimeout(converse.reconnectTimeout);
delete converse.reconnectTimeout;
}
if ((typeof reconnect !== 'undefined') && (reconnect)) {
converse.log(status === Strophe.Status.CONNECTED ? 'Reconnected' : 'Reattached');
converse.onReconnected();