diff --git a/src/components/structures/RightPanel.tsx b/src/components/structures/RightPanel.tsx index a108f376bd..be5ed52a78 100644 --- a/src/components/structures/RightPanel.tsx +++ b/src/components/structures/RightPanel.tsx @@ -54,6 +54,7 @@ import { throttle } from 'lodash'; import SpaceStore from "../../stores/SpaceStore"; import { RoomPermalinkCreator } from '../../utils/permalinks/Permalinks'; import { E2EStatus } from '../../utils/ShieldUtils'; +import { SetRightPanelPhasePayload } from '../../dispatcher/payloads/SetRightPanelPhasePayload'; interface IProps { room?: Room; // if showing panels for a given room, this is set @@ -196,6 +197,15 @@ export default class RightPanel extends React.Component { }; private onAction = (payload: ActionPayload) => { + const isChangingRoom = payload.action === 'view_room'; + const isViewingThread = this.state.phase === RightPanelPhases.ThreadView; + if (isChangingRoom && isViewingThread) { + dis.dispatch({ + action: Action.SetRightPanelPhase, + phase: RightPanelPhases.ThreadPanel, + }); + } + if (payload.action === Action.AfterRightPanelPhaseChange) { this.setState({ phase: payload.phase,