Page MenuHomePhabricator

D9324.id31537.diff
No OneTemporary

D9324.id31537.diff

diff --git a/lib/shared/messages/sidebar-source-message-spec.js b/lib/shared/messages/sidebar-source-message-spec.js
--- a/lib/shared/messages/sidebar-source-message-spec.js
+++ b/lib/shared/messages/sidebar-source-message-spec.js
@@ -86,6 +86,12 @@
`${content.sourceMessageID} which is not present in the database`,
);
}
+
+ invariant(
+ sourceMessage && !isInvalidSidebarSource(sourceMessage),
+ 'SIDEBAR_SOURCE should not point to an invalid message type',
+ );
+
return {
type: messageTypes.SIDEBAR_SOURCE,
id: row.id.toString(),
diff --git a/lib/types/message-types.js b/lib/types/message-types.js
--- a/lib/types/message-types.js
+++ b/lib/types/message-types.js
@@ -210,12 +210,32 @@
// Raw*MessageInfo = used by server, and contained in client's local store
// *MessageInfo = used by client in UI code
+export type ValidRawSidebarSourceMessageInfo =
+ | RawTextMessageInfo
+ | RawCreateThreadMessageInfo
+ | RawAddMembersMessageInfo
+ | RawCreateSubthreadMessageInfo
+ | RawChangeSettingsMessageInfo
+ | RawRemoveMembersMessageInfo
+ | RawChangeRoleMessageInfo
+ | RawLeaveThreadMessageInfo
+ | RawJoinThreadMessageInfo
+ | RawCreateEntryMessageInfo
+ | RawEditEntryMessageInfo
+ | RawDeleteEntryMessageInfo
+ | RawRestoreEntryMessageInfo
+ | RawImagesMessageInfo
+ | RawMediaMessageInfo
+ | RawUpdateRelationshipMessageInfo
+ | RawCreateSidebarMessageInfo
+ | RawUnsupportedMessageInfo;
+
export type SidebarSourceMessageData = {
+type: 17,
+threadID: string,
+creatorID: string,
+time: number,
- +sourceMessage?: RawComposableMessageInfo | RawRobotextMessageInfo,
+ +sourceMessage?: ValidRawSidebarSourceMessageInfo,
};
export type MessageData =
@@ -369,13 +389,33 @@
| MultimediaMessageInfo
| ReactionMessageInfo;
+export type ValidSidebarSourceMessageInfo =
+ | TextMessageInfo
+ | CreateThreadMessageInfo
+ | AddMembersMessageInfo
+ | CreateSubthreadMessageInfo
+ | ChangeSettingsMessageInfo
+ | RemoveMembersMessageInfo
+ | ChangeRoleMessageInfo
+ | LeaveThreadMessageInfo
+ | JoinThreadMessageInfo
+ | CreateEntryMessageInfo
+ | EditEntryMessageInfo
+ | DeleteEntryMessageInfo
+ | RestoreEntryMessageInfo
+ | ImagesMessageInfo
+ | MediaMessageInfo
+ | UpdateRelationshipMessageInfo
+ | CreateSidebarMessageInfo
+ | UnsupportedMessageInfo;
+
export type SidebarSourceMessageInfo = {
+type: 17,
+id: string,
+threadID: string,
+creator: RelativeUserInfo,
+time: number,
- +sourceMessage: ComposableMessageInfo | RobotextMessageInfo,
+ +sourceMessage: ValidSidebarSourceMessageInfo,
};
export type MessageInfo =

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 6, 11:25 AM (20 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2249147
Default Alt Text
D9324.id31537.diff (2 KB)

Event Timeline