Fix room alias lookup vs peeking race condition

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-05-19 13:17:34 +01:00
parent 833eccf5cd
commit af2eed2228
2 changed files with 22 additions and 14 deletions

View file

@ -46,7 +46,6 @@ const INITIAL_STATE = {
forwardingEvent: null,
quotingEvent: null,
matrixClientIsReady: false,
};
/**
@ -60,9 +59,6 @@ class RoomViewStore extends Store {
// Initialise state
this._state = INITIAL_STATE;
if (MatrixClientPeg.get()) {
this._state.matrixClientIsReady = MatrixClientPeg.get().isInitialSyncComplete();
}
}
_setState(newState) {
@ -157,11 +153,6 @@ class RoomViewStore extends Store {
}, /*className=*/null, /*isPriority=*/false, /*isStatic=*/true);
break;
}
case 'sync_state':
this._setState({
matrixClientIsReady: MatrixClientPeg.get() && MatrixClientPeg.get().isInitialSyncComplete(),
});
break;
}
}
@ -224,6 +215,7 @@ class RoomViewStore extends Store {
storeRoomAliasInCache(payload.room_alias, result.room_id);
roomId = result.room_id;
} catch (err) {
console.error(err);
dis.dispatch({
action: 'view_room_error',
room_id: null,
@ -375,7 +367,7 @@ class RoomViewStore extends Store {
}
shouldPeek() {
return this._state.shouldPeek && this._state.matrixClientIsReady;
return this._state.shouldPeek;
}
}