mirror of
https://github.com/element-hq/element-web.git
synced 2024-12-11 10:18:28 +03:00
Merge pull request #977 from matrix-org/luke/session-store-null-on-logout
Remove cachedPassword from localStorage on_logged_out
This commit is contained in:
commit
7abaadddde
2 changed files with 14 additions and 5 deletions
|
@ -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];
|
||||
},
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue