Merge pull request #1206 from matrix-org/rav/login_unmounted_guard

Give Login an unmounted guard
This commit is contained in:
David Baker 2017-07-11 18:37:50 +01:00 committed by GitHub
commit eb4e4a66ff

View file

@ -72,9 +72,14 @@ module.exports = React.createClass({
},
componentWillMount: function() {
this._unmounted = false;
this._initLoginLogic();
},
componentWillUnmount: function() {
this._unmounted = true;
},
onPasswordLogin: function(username, phoneCountry, phoneNumber, password) {
this.setState({
busy: true,
@ -87,6 +92,9 @@ module.exports = React.createClass({
).then((data) => {
this.props.onLoggedIn(data);
}, (error) => {
if(this._unmounted) {
return;
}
let errorText;
// Some error strings only apply for logging in
@ -109,8 +117,11 @@ module.exports = React.createClass({
loginIncorrect: error.httpStatus === 401 || error.httpStatus == 403,
});
}).finally(() => {
if(this._unmounted) {
return;
}
this.setState({
busy: false
busy: false,
});
}).done();
},