More work on session management.
When it's not possible to reconnect due to password no longer being cached, render the login form. Fixed a bug whereby after one failed reconnection event, reconnection becomes impossible (due to 'connection' state of the controlbox).
This commit is contained in:
parent
f5b182c365
commit
3c9b5bd7a0
@ -64,7 +64,13 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
afterReconnected: function () {
|
afterReconnected: function () {
|
||||||
|
this._super.afterReconnected.apply(this, arguments);
|
||||||
|
var view = converse.chatboxviews.get('controlbox');
|
||||||
|
if (view.model.get('connected')) {
|
||||||
|
converse.chatboxviews.get("controlbox").onConnected();
|
||||||
|
} else {
|
||||||
view.model.set({connected:true});
|
view.model.set({connected:true});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_tearDown: function () {
|
_tearDown: function () {
|
||||||
|
@ -409,8 +409,7 @@
|
|||||||
converse.connection.reset();
|
converse.connection.reset();
|
||||||
converse.log('The connection has dropped, attempting to reconnect.');
|
converse.log('The connection has dropped, attempting to reconnect.');
|
||||||
converse.giveFeedback(
|
converse.giveFeedback(
|
||||||
__("Reconnecting"), 'warn',
|
__("Reconnecting"), 'warn', __('The connection has dropped, attempting to reconnect.')
|
||||||
__('The connection has dropped, attempting to reconnect.')
|
|
||||||
);
|
);
|
||||||
converse.clearSession();
|
converse.clearSession();
|
||||||
converse._tearDown();
|
converse._tearDown();
|
||||||
@ -1764,9 +1763,14 @@
|
|||||||
} else if (this.authentication === converse.LOGIN) {
|
} else if (this.authentication === converse.LOGIN) {
|
||||||
var password = converse.connection.pass || this.password;
|
var password = converse.connection.pass || this.password;
|
||||||
if (!password) {
|
if (!password) {
|
||||||
|
if (this.auto_login && !this.password) {
|
||||||
throw new Error("initConnection: If you use auto_login and "+
|
throw new Error("initConnection: If you use auto_login and "+
|
||||||
"authentication='login' then you also need to provide a password.");
|
"authentication='login' then you also need to provide a password.");
|
||||||
}
|
}
|
||||||
|
converse.disconnection_cause = Strophe.Status.AUTHFAIL;
|
||||||
|
converse.onDisconnected();
|
||||||
|
converse.giveFeedback(''); // Wipe the feedback
|
||||||
|
}
|
||||||
var resource = Strophe.getResourceFromJid(this.jid);
|
var resource = Strophe.getResourceFromJid(this.jid);
|
||||||
if (!resource) {
|
if (!resource) {
|
||||||
this.jid = this.jid.toLowerCase() + converse.generateResource();
|
this.jid = this.jid.toLowerCase() + converse.generateResource();
|
||||||
|
Loading…
Reference in New Issue
Block a user