Fix RoomView re-mounting breaking peeking

Because as of React 16 order of unmount & re-mount is undefined
this was causing the possibility of the unmount running after
the willMount of the replacement RoomView, upsetting the state
of the singleton inside the js-sdk.
pull/21833/head
Michael Telatynski 2021-01-31 16:09:11 +00:00
parent b8e3908ee2
commit 53334de5a9
1 changed files with 2 additions and 6 deletions

View File

@ -267,12 +267,6 @@ export default class RoomView extends React.Component<IProps, IState> {
this.layoutWatcherRef = SettingsStore.watchSetting("useIRCLayout", null, this.onLayoutChange); this.layoutWatcherRef = SettingsStore.watchSetting("useIRCLayout", null, this.onLayoutChange);
} }
// TODO: [REACT-WARNING] Move into constructor
// eslint-disable-next-line camelcase
UNSAFE_componentWillMount() {
this.onRoomViewStoreUpdate(true);
}
private onWidgetStoreUpdate = () => { private onWidgetStoreUpdate = () => {
if (this.state.room) { if (this.state.room) {
this.checkWidgets(this.state.room); this.checkWidgets(this.state.room);
@ -512,6 +506,8 @@ export default class RoomView extends React.Component<IProps, IState> {
} }
componentDidMount() { componentDidMount() {
this.onRoomViewStoreUpdate(true);
const call = this.getCallForRoom(); const call = this.getCallForRoom();
const callState = call ? call.state : null; const callState = call ? call.state : null;
this.setState({ this.setState({