Page MenuHomePhabricator

D13048.id43308.diff
No OneTemporary

D13048.id43308.diff

diff --git a/lib/shared/message-utils.js b/lib/shared/message-utils.js
--- a/lib/shared/message-utils.js
+++ b/lib/shared/message-utils.js
@@ -170,6 +170,17 @@
return messageSpec.rawMessageInfoFromMessageData(messageData, id);
}
+function messageDataFromRawMessageInfo(
+ rawMessageInfo: RawMessageInfo,
+): MessageData {
+ const messageSpec = messageSpecs[rawMessageInfo.type];
+ invariant(
+ messageSpec.messageDataFromRawMessageInfo,
+ `we're not aware of messageType ${rawMessageInfo.type}`,
+ );
+ return messageSpec.messageDataFromRawMessageInfo(rawMessageInfo);
+}
+
function mostRecentMessageTimestamp(
messageInfos: $ReadOnlyArray<RawMessageInfo>,
previousTimestamp: number,
@@ -684,6 +695,7 @@
sortMessageInfoList,
sortMessageIDs,
rawMessageInfoFromMessageData,
+ messageDataFromRawMessageInfo,
mostRecentMessageTimestamp,
usersInMessageInfos,
shimUnsupportedRawMessageInfos,
diff --git a/lib/shared/messages/add-members-message-spec.js b/lib/shared/messages/add-members-message-spec.js
--- a/lib/shared/messages/add-members-message-spec.js
+++ b/lib/shared/messages/add-members-message-spec.js
@@ -110,6 +110,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawAddMembersMessageInfo,
+ ): AddMembersMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(messageInfo: AddMembersMessageInfo): EntityText {
const users = messageInfo.addedMembers;
invariant(users.length !== 0, 'added who??');
diff --git a/lib/shared/messages/change-role-message-spec.js b/lib/shared/messages/change-role-message-spec.js
--- a/lib/shared/messages/change-role-message-spec.js
+++ b/lib/shared/messages/change-role-message-spec.js
@@ -127,6 +127,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawChangeRoleMessageInfo,
+ ): ChangeRoleMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(
messageInfo: ChangeRoleMessageInfo,
params: RobotextParams,
diff --git a/lib/shared/messages/change-settings-message-spec.js b/lib/shared/messages/change-settings-message-spec.js
--- a/lib/shared/messages/change-settings-message-spec.js
+++ b/lib/shared/messages/change-settings-message-spec.js
@@ -115,6 +115,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawChangeSettingsMessageInfo,
+ ): ChangeSettingsMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(
messageInfo: ChangeSettingsMessageInfo,
params: RobotextParams,
diff --git a/lib/shared/messages/create-entry-message-spec.js b/lib/shared/messages/create-entry-message-spec.js
--- a/lib/shared/messages/create-entry-message-spec.js
+++ b/lib/shared/messages/create-entry-message-spec.js
@@ -110,6 +110,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawCreateEntryMessageInfo,
+ ): CreateEntryMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(messageInfo: CreateEntryMessageInfo): EntityText {
const date = prettyDate(messageInfo.date);
const creator = ET.user({ userInfo: messageInfo.creator });
diff --git a/lib/shared/messages/create-sidebar-message-spec.js b/lib/shared/messages/create-sidebar-message-spec.js
--- a/lib/shared/messages/create-sidebar-message-spec.js
+++ b/lib/shared/messages/create-sidebar-message-spec.js
@@ -142,6 +142,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawCreateSidebarMessageInfo,
+ ): CreateSidebarMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(
messageInfo: CreateSidebarMessageInfo,
params: RobotextParams,
diff --git a/lib/shared/messages/create-sub-thread-message-spec.js b/lib/shared/messages/create-sub-thread-message-spec.js
--- a/lib/shared/messages/create-sub-thread-message-spec.js
+++ b/lib/shared/messages/create-sub-thread-message-spec.js
@@ -116,6 +116,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawCreateSubthreadMessageInfo,
+ ): CreateSubthreadMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(messageInfo: CreateSubthreadMessageInfo): EntityText {
const threadEntity = ET.thread({
display: 'shortName',
diff --git a/lib/shared/messages/create-thread-message-spec.js b/lib/shared/messages/create-thread-message-spec.js
--- a/lib/shared/messages/create-thread-message-spec.js
+++ b/lib/shared/messages/create-thread-message-spec.js
@@ -124,6 +124,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawCreateThreadMessageInfo,
+ ): CreateThreadMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(
messageInfo: CreateThreadMessageInfo,
params: RobotextParams,
diff --git a/lib/shared/messages/delete-entry-message-spec.js b/lib/shared/messages/delete-entry-message-spec.js
--- a/lib/shared/messages/delete-entry-message-spec.js
+++ b/lib/shared/messages/delete-entry-message-spec.js
@@ -109,6 +109,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawDeleteEntryMessageInfo,
+ ): DeleteEntryMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(messageInfo: DeleteEntryMessageInfo): EntityText {
const date = prettyDate(messageInfo.date);
const creator = ET.user({ userInfo: messageInfo.creator });
diff --git a/lib/shared/messages/edit-entry-message-spec.js b/lib/shared/messages/edit-entry-message-spec.js
--- a/lib/shared/messages/edit-entry-message-spec.js
+++ b/lib/shared/messages/edit-entry-message-spec.js
@@ -110,6 +110,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawEditEntryMessageInfo,
+ ): EditEntryMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(messageInfo: EditEntryMessageInfo): EntityText {
const date = prettyDate(messageInfo.date);
const creator = ET.user({ userInfo: messageInfo.creator });
diff --git a/lib/shared/messages/edit-message-spec.js b/lib/shared/messages/edit-message-spec.js
--- a/lib/shared/messages/edit-message-spec.js
+++ b/lib/shared/messages/edit-message-spec.js
@@ -115,6 +115,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawEditMessageInfo,
+ ): EditMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
shimUnsupportedMessageInfo(
rawMessageInfo: RawEditMessageInfo,
platformDetails: ?PlatformDetails,
diff --git a/lib/shared/messages/join-thread-message-spec.js b/lib/shared/messages/join-thread-message-spec.js
--- a/lib/shared/messages/join-thread-message-spec.js
+++ b/lib/shared/messages/join-thread-message-spec.js
@@ -74,6 +74,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawJoinThreadMessageInfo,
+ ): JoinThreadMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(
messageInfo: JoinThreadMessageInfo,
params: RobotextParams,
diff --git a/lib/shared/messages/leave-thread-message-spec.js b/lib/shared/messages/leave-thread-message-spec.js
--- a/lib/shared/messages/leave-thread-message-spec.js
+++ b/lib/shared/messages/leave-thread-message-spec.js
@@ -74,6 +74,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawLeaveThreadMessageInfo,
+ ): LeaveThreadMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(
messageInfo: LeaveThreadMessageInfo,
params: RobotextParams,
diff --git a/lib/shared/messages/message-spec.js b/lib/shared/messages/message-spec.js
--- a/lib/shared/messages/message-spec.js
+++ b/lib/shared/messages/message-spec.js
@@ -88,6 +88,7 @@
params: CreateMessageInfoParams,
) => ?Info,
+rawMessageInfoFromMessageData?: (messageData: Data, id: ?string) => RawInfo,
+ +messageDataFromRawMessageInfo?: (rawMessageInfo: RawInfo) => Data,
+robotext?: (messageInfo: Info, params: RobotextParams) => EntityText,
+shimUnsupportedMessageInfo?: (
rawMessageInfo: RawInfo,
diff --git a/lib/shared/messages/multimedia-message-spec.js b/lib/shared/messages/multimedia-message-spec.js
--- a/lib/shared/messages/multimedia-message-spec.js
+++ b/lib/shared/messages/multimedia-message-spec.js
@@ -220,6 +220,13 @@
}
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawMediaMessageInfo | RawImagesMessageInfo,
+ ): MediaMessageData | ImagesMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
shimUnsupportedMessageInfo(
rawMessageInfo: RawMediaMessageInfo | RawImagesMessageInfo,
platformDetails: ?PlatformDetails,
diff --git a/lib/shared/messages/reaction-message-spec.js b/lib/shared/messages/reaction-message-spec.js
--- a/lib/shared/messages/reaction-message-spec.js
+++ b/lib/shared/messages/reaction-message-spec.js
@@ -136,6 +136,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawReactionMessageInfo,
+ ): ReactionMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
shimUnsupportedMessageInfo(
rawMessageInfo: RawReactionMessageInfo,
platformDetails: ?PlatformDetails,
diff --git a/lib/shared/messages/remove-members-message-spec.js b/lib/shared/messages/remove-members-message-spec.js
--- a/lib/shared/messages/remove-members-message-spec.js
+++ b/lib/shared/messages/remove-members-message-spec.js
@@ -111,6 +111,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawRemoveMembersMessageInfo,
+ ): RemoveMembersMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(messageInfo: RemoveMembersMessageInfo): EntityText {
const users = messageInfo.removedMembers;
invariant(users.length !== 0, 'added who??');
diff --git a/lib/shared/messages/restore-entry-message-spec.js b/lib/shared/messages/restore-entry-message-spec.js
--- a/lib/shared/messages/restore-entry-message-spec.js
+++ b/lib/shared/messages/restore-entry-message-spec.js
@@ -109,6 +109,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawRestoreEntryMessageInfo,
+ ): RestoreEntryMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(messageInfo: RestoreEntryMessageInfo): EntityText {
const date = prettyDate(messageInfo.date);
const creator = ET.user({ userInfo: messageInfo.creator });
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
@@ -130,6 +130,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawSidebarSourceMessageInfo,
+ ): SidebarSourceMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
notificationTexts(): Promise<NotifTexts> {
invariant(
false,
diff --git a/lib/shared/messages/text-message-spec.js b/lib/shared/messages/text-message-spec.js
--- a/lib/shared/messages/text-message-spec.js
+++ b/lib/shared/messages/text-message-spec.js
@@ -196,6 +196,13 @@
}
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawTextMessageInfo,
+ ): TextMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
async notificationTexts(
messageInfos: $ReadOnlyArray<MessageInfo>,
threadInfo: ThreadInfo,
diff --git a/lib/shared/messages/toggle-pin-message-spec.js b/lib/shared/messages/toggle-pin-message-spec.js
--- a/lib/shared/messages/toggle-pin-message-spec.js
+++ b/lib/shared/messages/toggle-pin-message-spec.js
@@ -124,6 +124,13 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo: RawTogglePinMessageInfo,
+ ): TogglePinMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
robotext(
messageInfo: TogglePinMessageInfo,
params: RobotextParams,
diff --git a/lib/shared/messages/update-relationship-message-spec.js b/lib/shared/messages/update-relationship-message-spec.js
--- a/lib/shared/messages/update-relationship-message-spec.js
+++ b/lib/shared/messages/update-relationship-message-spec.js
@@ -225,6 +225,15 @@
return { ...messageData, id };
},
+ messageDataFromRawMessageInfo(
+ rawMessageInfo:
+ | RawLegacyUpdateRelationshipMessageInfo
+ | RawUpdateRelationshipMessageInfo,
+ ): LegacyUpdateRelationshipMessageData | UpdateRelationshipMessageData {
+ const { id, ...rest } = rawMessageInfo;
+ return { ...rest };
+ },
+
// ESLint doesn't recognize that invariant always throws
// eslint-disable-next-line consistent-return
robotext(

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 11:47 AM (19 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2143599
Default Alt Text
D13048.id43308.diff (13 KB)

Event Timeline