Page MenuHomePhabricator

D13347.id.diff
No OneTemporary

D13347.id.diff

diff --git a/lib/shared/dm-ops/edit-entry-spec.js b/lib/shared/dm-ops/edit-entry-spec.js
--- a/lib/shared/dm-ops/edit-entry-spec.js
+++ b/lib/shared/dm-ops/edit-entry-spec.js
@@ -1,5 +1,6 @@
// @flow
+import invariant from 'invariant';
import uuid from 'uuid';
import type {
@@ -7,7 +8,6 @@
ProcessDMOperationUtilities,
} from './dm-op-spec.js';
import type { DMEditEntryOperation } from '../../types/dm-ops.js';
-import type { ThickRawEntryInfo } from '../../types/entry-types.js';
import { messageTypes } from '../../types/message-types-enum.js';
import { updateTypes } from '../../types/update-types-enum.js';
import type { EntryUpdateInfo } from '../../types/update-types.js';
@@ -33,7 +33,11 @@
const messageData = createMessageDataFromDMOperation(dmOperation);
return { messageDatas: [messageData] };
},
- processDMOperation: async (dmOperation: DMEditEntryOperation) => {
+ processDMOperation: async (
+ dmOperation: DMEditEntryOperation,
+ viewerID: string,
+ utilities: ProcessDMOperationUtilities,
+ ) => {
const {
threadID,
creatorID,
@@ -45,13 +49,25 @@
messageID,
} = dmOperation;
+ const rawEntryInfo = utilities.entryInfos[entryID];
+
const messageData = createMessageDataFromDMOperation(dmOperation);
const rawMessageInfos = [
rawMessageInfoFromMessageData(messageData, messageID),
];
+ invariant(rawEntryInfo?.thick, 'Entry thread should be thick');
+ const timestamp = rawEntryInfo.lastUpdatedTime;
+
+ if (timestamp > time) {
+ return {
+ rawMessageInfos,
+ updateInfos: [],
+ };
+ }
+
const date = dateFromString(dateString);
- const rawEntryInfo: ThickRawEntryInfo = {
+ const rawEntryInfoToUpdate = {
id: entryID,
threadID,
text,
@@ -66,7 +82,7 @@
};
const entryUpdateInfo: EntryUpdateInfo = {
- entryInfo: rawEntryInfo,
+ entryInfo: rawEntryInfoToUpdate,
type: updateTypes.UPDATE_ENTRY,
id: uuid.v4(),
time,

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 19, 1:58 PM (12 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2323169
Default Alt Text
D13347.id.diff (1 KB)

Event Timeline