Merge pull request #269 from matrix-org/rav/stop_client_on_unmount

Stop the MatrixClient when the MatrixChat is unmounted
pull/21833/head
Richard van der Hoff 2016-04-13 11:05:02 +01:00
commit 047524d093
1 changed files with 12 additions and 6 deletions

View File

@ -185,6 +185,7 @@ module.exports = React.createClass({
},
componentWillUnmount: function() {
this._stopMatrixClient();
dis.unregister(this.dispatcherRef);
document.removeEventListener("keydown", this.onKeyDown);
window.removeEventListener("focus", this.onFocus);
@ -260,12 +261,7 @@ module.exports = React.createClass({
window.localStorage.setItem("mx_hs_url", hsUrl);
window.localStorage.setItem("mx_is_url", isUrl);
}
Notifier.stop();
UserActivity.stop();
Presence.stop();
MatrixClientPeg.get().stopClient();
MatrixClientPeg.get().removeAllListeners();
MatrixClientPeg.unset();
this._stopMatrixClient();
this.notifyNewScreen('login');
this.replaceState({
logged_in: false,
@ -730,6 +726,16 @@ module.exports = React.createClass({
});
},
// stop all the background processes related to the current client
_stopMatrixClient: function() {
Notifier.stop();
UserActivity.stop();
Presence.stop();
MatrixClientPeg.get().stopClient();
MatrixClientPeg.get().removeAllListeners();
MatrixClientPeg.unset();
},
onKeyDown: function(ev) {
/*
// Remove this for now as ctrl+alt = alt-gr so this breaks keyboards which rely on alt-gr for numbers