Merge pull request #28538 from element-hq/t3chguy/fix/20721
This commit is contained in:
@@ -304,15 +304,13 @@ export default class RightPanelStore extends ReadyWatchingStore {
|
||||
logger.warn("removed card from right panel because of missing threadHeadEvent in card state");
|
||||
}
|
||||
return !!card.state?.threadHeadEvent;
|
||||
case RightPanelPhases.RoomMemberInfo:
|
||||
case RightPanelPhases.SpaceMemberInfo:
|
||||
case RightPanelPhases.MemberInfo:
|
||||
case RightPanelPhases.EncryptionPanel:
|
||||
if (!card.state?.member) {
|
||||
logger.warn("removed card from right panel because of missing member in card state");
|
||||
}
|
||||
return !!card.state?.member;
|
||||
case RightPanelPhases.Room3pidMemberInfo:
|
||||
case RightPanelPhases.Space3pidMemberInfo:
|
||||
case RightPanelPhases.ThreePidMemberInfo:
|
||||
if (!card.state?.memberInfoEvent) {
|
||||
logger.warn("removed card from right panel because of missing memberInfoEvent in card state");
|
||||
}
|
||||
@@ -327,7 +325,7 @@ export default class RightPanelStore extends ReadyWatchingStore {
|
||||
}
|
||||
|
||||
private getVerificationRedirect(card: IRightPanelCard): IRightPanelCard | null {
|
||||
if (card.phase === RightPanelPhases.RoomMemberInfo && card.state) {
|
||||
if (card.phase === RightPanelPhases.MemberInfo && card.state) {
|
||||
// RightPanelPhases.RoomMemberInfo -> needs to be changed to RightPanelPhases.EncryptionPanel if there is a pending verification request
|
||||
const { member } = card.state;
|
||||
const pendingRequest = member
|
||||
@@ -385,8 +383,7 @@ export default class RightPanelStore extends ReadyWatchingStore {
|
||||
if (panel?.history) {
|
||||
panel.history = panel.history.filter(
|
||||
(card: IRightPanelCard) =>
|
||||
card.phase != RightPanelPhases.RoomMemberInfo &&
|
||||
card.phase != RightPanelPhases.Room3pidMemberInfo,
|
||||
card.phase != RightPanelPhases.MemberInfo && card.phase != RightPanelPhases.ThreePidMemberInfo,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@ export interface IRightPanelCardState {
|
||||
verificationRequest?: VerificationRequest;
|
||||
verificationRequestPromise?: Promise<VerificationRequest>;
|
||||
widgetId?: string;
|
||||
spaceId?: string;
|
||||
// Room3pidMemberInfo, Space3pidMemberInfo,
|
||||
memberInfoEvent?: MatrixEvent;
|
||||
// threads
|
||||
@@ -32,7 +31,6 @@ export interface IRightPanelCardStateStored {
|
||||
memberId?: string;
|
||||
// we do not store the things associated with verification
|
||||
widgetId?: string;
|
||||
spaceId?: string;
|
||||
// 3pidMemberInfo
|
||||
memberInfoEventId?: string;
|
||||
// threads
|
||||
@@ -80,7 +78,6 @@ export function convertCardToStore(panelState: IRightPanelCard): IRightPanelCard
|
||||
const state = panelState.state ?? {};
|
||||
const stateStored: IRightPanelCardStateStored = {
|
||||
widgetId: state.widgetId,
|
||||
spaceId: state.spaceId,
|
||||
isInitialEventHighlighted: state.isInitialEventHighlighted,
|
||||
initialEventScrollIntoView: state.initialEventScrollIntoView,
|
||||
threadHeadEventId: !!state?.threadHeadEvent?.getId() ? state.threadHeadEvent.getId() : undefined,
|
||||
@@ -97,7 +94,6 @@ function convertStoreToCard(panelStateStore: IRightPanelCardStored, room: Room):
|
||||
const stateStored = panelStateStore.state ?? {};
|
||||
const state: IRightPanelCardState = {
|
||||
widgetId: stateStored.widgetId,
|
||||
spaceId: stateStored.spaceId,
|
||||
isInitialEventHighlighted: stateStored.isInitialEventHighlighted,
|
||||
initialEventScrollIntoView: stateStored.initialEventScrollIntoView,
|
||||
threadHeadEvent: !!stateStored?.threadHeadEventId
|
||||
|
||||
@@ -10,11 +10,14 @@ import { _t } from "../../languageHandler";
|
||||
|
||||
// These are in their own file because of circular imports being a problem.
|
||||
export enum RightPanelPhases {
|
||||
// Room & Space stuff
|
||||
MemberList = "MemberList",
|
||||
MemberInfo = "MemberInfo",
|
||||
ThreePidMemberInfo = "ThreePidMemberInfo",
|
||||
|
||||
// Room stuff
|
||||
RoomMemberList = "RoomMemberList",
|
||||
FilePanel = "FilePanel",
|
||||
NotificationPanel = "NotificationPanel",
|
||||
RoomMemberInfo = "RoomMemberInfo",
|
||||
EncryptionPanel = "EncryptionPanel",
|
||||
RoomSummary = "RoomSummary",
|
||||
Widget = "Widget",
|
||||
@@ -22,13 +25,6 @@ export enum RightPanelPhases {
|
||||
Timeline = "Timeline",
|
||||
Extensions = "Extensions",
|
||||
|
||||
Room3pidMemberInfo = "Room3pidMemberInfo",
|
||||
|
||||
// Space stuff
|
||||
SpaceMemberList = "SpaceMemberList",
|
||||
SpaceMemberInfo = "SpaceMemberInfo",
|
||||
Space3pidMemberInfo = "Space3pidMemberInfo",
|
||||
|
||||
// Thread stuff
|
||||
ThreadView = "ThreadView",
|
||||
ThreadPanel = "ThreadPanel",
|
||||
@@ -42,7 +38,7 @@ export function backLabelForPhase(phase: RightPanelPhases | null): string | null
|
||||
return _t("chat_card_back_action_label");
|
||||
case RightPanelPhases.RoomSummary:
|
||||
return _t("room_summary_card_back_action_label");
|
||||
case RightPanelPhases.RoomMemberList:
|
||||
case RightPanelPhases.MemberList:
|
||||
return _t("member_list_back_action_label");
|
||||
case RightPanelPhases.ThreadView:
|
||||
return _t("thread_view_back_action_label");
|
||||
|
||||
@@ -20,10 +20,10 @@ import { RightPanelPhases } from "../RightPanelStorePhases";
|
||||
export const onView3pidInvite = (payload: ActionPayload, rightPanelStore: RightPanelStore): void => {
|
||||
if (payload.event) {
|
||||
rightPanelStore.pushCard({
|
||||
phase: RightPanelPhases.Room3pidMemberInfo,
|
||||
phase: RightPanelPhases.ThreePidMemberInfo,
|
||||
state: { memberInfoEvent: payload.event },
|
||||
});
|
||||
} else {
|
||||
rightPanelStore.showOrHidePhase(RightPanelPhases.RoomMemberList);
|
||||
rightPanelStore.showOrHidePhase(RightPanelPhases.MemberList);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user