Commit 9a2ed106 authored by JC Brand's avatar JC Brand

Bugfix. Don't reconnect when disconnect was due to auth err.

parent 94514dfe
...@@ -583,6 +583,7 @@ ...@@ -583,6 +583,7 @@
this.onConnectStatusChanged = function (status, condition, reconnect) { this.onConnectStatusChanged = function (status, condition, reconnect) {
converse.log("Status changed to: "+PRETTY_CONNECTION_STATUS[status]); converse.log("Status changed to: "+PRETTY_CONNECTION_STATUS[status]);
if (status === Strophe.Status.CONNECTED || status === Strophe.Status.ATTACHED) { if (status === Strophe.Status.CONNECTED || status === Strophe.Status.ATTACHED) {
delete converse.disconnection_cause;
if ((typeof reconnect !== 'undefined') && (reconnect)) { if ((typeof reconnect !== 'undefined') && (reconnect)) {
converse.log(status === Strophe.Status.CONNECTED ? 'Reconnected' : 'Reattached'); converse.log(status === Strophe.Status.CONNECTED ? 'Reconnected' : 'Reattached');
converse.onReconnected(); converse.onReconnected();
...@@ -591,8 +592,8 @@ ...@@ -591,8 +592,8 @@
converse.onConnected(); converse.onConnected();
} }
} else if (status === Strophe.Status.DISCONNECTED) { } else if (status === Strophe.Status.DISCONNECTED) {
if (converse.auto_reconnect) { if (converse.disconnection_cause == Strophe.Status.CONNFAIL && converse.auto_reconnect) {
converse.reconnect(); converse.reconnect(condition);
} else { } else {
converse.renderLoginPanel(); converse.renderLoginPanel();
} }
...@@ -605,6 +606,9 @@ ...@@ -605,6 +606,9 @@
} else if (status === Strophe.Status.AUTHFAIL) { } else if (status === Strophe.Status.AUTHFAIL) {
converse.giveFeedback(__('Authentication Failed'), 'error'); converse.giveFeedback(__('Authentication Failed'), 'error');
converse.connection.disconnect(__('Authentication Failed')); converse.connection.disconnect(__('Authentication Failed'));
converse.disconnection_cause = Strophe.Status.AUTHFAIL;
} else if (status === Strophe.Status.CONNFAIL) {
converse.disconnection_cause = Strophe.Status.CONNFAIL;
} else if (status === Strophe.Status.DISCONNECTING) { } else if (status === Strophe.Status.DISCONNECTING) {
// FIXME: what about prebind? // FIXME: what about prebind?
if (!converse.connection.connected) { if (!converse.connection.connected) {
...@@ -1363,6 +1367,9 @@ ...@@ -1363,6 +1367,9 @@
}, },
sendMessage: function (text) { sendMessage: function (text) {
if (!converse.connection.authenticated) {
return this.showHelpMessages(['Sorry, the connection has been lost, and your message could not be sent'], 'error');
}
var match = text.replace(/^\s*/, "").match(/^\/(.*)\s*$/), msgs; var match = text.replace(/^\s*/, "").match(/^\/(.*)\s*$/), msgs;
if (match) { if (match) {
if (match[1] === "clear") { if (match[1] === "clear") {
...@@ -4972,21 +4979,19 @@ ...@@ -4972,21 +4979,19 @@
}, },
getPrettyStatus: function (stat) { getPrettyStatus: function (stat) {
var pretty_status;
if (stat === 'chat') { if (stat === 'chat') {
pretty_status = __('online'); return __('online');
} else if (stat === 'dnd') { } else if (stat === 'dnd') {
pretty_status = __('busy'); return __('busy');
} else if (stat === 'xa') { } else if (stat === 'xa') {
pretty_status = __('away for long'); return __('away for long');
} else if (stat === 'away') { } else if (stat === 'away') {
pretty_status = __('away'); return __('away');
} else if (stat === 'offline') { } else if (stat === 'offline') {
pretty_status = __('offline'); return __('offline');
} else { } else {
pretty_status = __(stat) || __('online'); return __(stat) || __('online');
} }
return pretty_status;
}, },
updateStatusUI: function (model) { updateStatusUI: function (model) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment