Merge pull request #4310 from matrix-org/t3chguy/fix_peeking
Fix peeking keeping two timeline update mechanisms in play
This commit is contained in:
commit
9ed08e76f8
2 changed files with 16 additions and 5 deletions
|
@ -236,6 +236,11 @@ export default createReactClass({
|
|||
showReadReceipts: SettingsStore.getValue("showReadReceipts", roomId),
|
||||
};
|
||||
|
||||
if (!initial && this.state.shouldPeek && !newState.shouldPeek) {
|
||||
// Stop peeking because we have joined this room now
|
||||
this.context.stopPeeking();
|
||||
}
|
||||
|
||||
// Temporary logging to diagnose https://github.com/vector-im/riot-web/issues/4307
|
||||
console.log(
|
||||
'RVS update:',
|
||||
|
@ -467,6 +472,10 @@ export default createReactClass({
|
|||
RoomScrollStateStore.setScrollState(this.state.roomId, this._getScrollState());
|
||||
}
|
||||
|
||||
if (this.state.shouldPeek) {
|
||||
this.context.stopPeeking();
|
||||
}
|
||||
|
||||
// stop tracking room changes to format permalinks
|
||||
this._stopAllPermalinkCreators();
|
||||
|
||||
|
|
|
@ -123,6 +123,9 @@ class RoomViewStore extends Store {
|
|||
case 'join_room_error':
|
||||
this._joinRoomError(payload);
|
||||
break;
|
||||
case 'join_room_ready':
|
||||
this._setState({ shouldPeek: false });
|
||||
break;
|
||||
case 'on_client_not_viable':
|
||||
case 'on_logged_out':
|
||||
this.reset();
|
||||
|
@ -259,11 +262,10 @@ class RoomViewStore extends Store {
|
|||
MatrixClientPeg.get().joinRoom(
|
||||
this._state.roomAlias || this._state.roomId, payload.opts,
|
||||
).then(() => {
|
||||
// We don't actually need to do anything here: we do *not*
|
||||
// clear the 'joining' flag because the Room object and/or
|
||||
// our 'joined' member event may not have come down the sync
|
||||
// stream yet, and that's the point at which we'd consider
|
||||
// the user joined to the room.
|
||||
// We do *not* clear the 'joining' flag because the Room object and/or our 'joined' member event may not
|
||||
// have come down the sync stream yet, and that's the point at which we'd consider the user joined to the
|
||||
// room.
|
||||
dis.dispatch({ action: 'join_room_ready' });
|
||||
}, (err) => {
|
||||
dis.dispatch({
|
||||
action: 'join_room_error',
|
||||
|
|
Loading…
Reference in a new issue