Merge pull request #977 from matrix-org/luke/session-store-null-on-logout

Remove cachedPassword from localStorage on_logged_out
pull/21833/head
Luke Barnard 2017-05-31 16:00:24 +01:00 committed by GitHub
commit 7abaadddde
2 changed files with 14 additions and 5 deletions

View File

@ -24,6 +24,7 @@ import PageTypes from '../../PageTypes';
import sdk from '../../index';
import dis from '../../dispatcher';
import sessionStore from '../../stores/SessionStore';
import MatrixClientPeg from '../../MatrixClientPeg';
/**
* This is what our MatrixChat shows when we are logged in. The precise view is
@ -91,6 +92,16 @@ export default React.createClass({
}
},
// Child components assume that the client peg will not be null, so give them some
// sort of assurance here by only allowing a re-render if the client is truthy.
//
// This is required because `LoggedInView` maintains its own state and if this state
// updates after the client peg has been made null (during logout), then it will
// attempt to re-render and the children will throw errors.
shouldComponentUpdate: function() {
return Boolean(MatrixClientPeg.get());
},
getScrollStateForRoom: function(roomId) {
return this._scrollStateMap[roomId];
},

View File

@ -69,15 +69,13 @@ class SessionStore extends Store {
});
break;
case 'on_logged_out':
this.reset();
this._setState({
cachedPassword: null,
});
break;
}
}
reset() {
this._state = Object.assign({}, INITIAL_STATE);
}
getCachedPassword() {
return this._state.cachedPassword;
}