Destroy session objects in clearSession, not in tearDown

This commit is contained in:
JC Brand 2019-06-01 19:48:44 +02:00
parent dc58e6d47f
commit 55cffab594

View File

@ -410,14 +410,6 @@ function initClientConfig () {
function tearDown () {
_converse.api.trigger('beforeTearDown');
if (!_.isUndefined(_converse.bosh_session)) {
_converse.bosh_session.destroy();
delete _converse.bosh_session;
}
if (!_.isUndefined(_converse.session)) {
_converse.session.destroy();
delete _converse.session;
}
window.removeEventListener('click', _converse.onUserActivity);
window.removeEventListener('focus', _converse.onUserActivity);
window.removeEventListener('keypress', _converse.onUserActivity);
@ -444,6 +436,14 @@ function clearSession () {
window.localStorage.clear();
window.sessionStorage.clear();
} else {
if (!_.isUndefined(_converse.bosh_session)) {
_converse.bosh_session.destroy();
delete _converse.bosh_session;
}
if (!_.isUndefined(_converse.session)) {
_converse.session.destroy();
delete _converse.session;
}
_.get(_converse, 'bosh_session.browserStorage', {'_clear': _.noop})._clear();
_.get(_converse, 'session.browserStorage', {'_clear': _.noop})._clear();
}