Merge pull request #1129 from matrix-org/luke/fix-logout

Don't allow UserSettings to render if !MatrixClientPeg.get()
pull/21833/head
Matthew Hodgson 2017-06-20 18:43:33 +01:00 committed by GitHub
commit d441ba1fd0
1 changed files with 10 additions and 0 deletions

View File

@ -276,6 +276,16 @@ module.exports = React.createClass({
} }
}, },
// `UserSettings` assumes that the client peg will not be null, so give it some
// sort of assurance here by only allowing a re-render if the client is truthy.
//
// This is required because `UserSettings` maintains its own state and if this state
// updates (e.g. during _setStateFromSessionStore) after the client peg has been made
// null (during logout), then it will attempt to re-render and throw errors.
shouldComponentUpdate: function() {
return Boolean(MatrixClientPeg.get());
},
_setStateFromSessionStore: function() { _setStateFromSessionStore: function() {
this.setState({ this.setState({
userHasGeneratedPassword: Boolean(this._sessionStore.getCachedPassword()), userHasGeneratedPassword: Boolean(this._sessionStore.getCachedPassword()),