diff --git a/lib/shared/dm-ops/add-members-spec.js b/lib/shared/dm-ops/add-members-spec.js --- a/lib/shared/dm-ops/add-members-spec.js +++ b/lib/shared/dm-ops/add-members-spec.js @@ -8,7 +8,6 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMAddMembersOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; import { type RawMessageInfo } from '../../types/message-types.js'; @@ -77,19 +76,18 @@ ...currentThreadInfo, members: [...currentThreadInfo.members, ...newMembers], }; - const updateWithRepliesCount = createRepliesCountUpdate(resultThreadInfo, [ - addMembersMessage, - ]); - const update = updateWithRepliesCount ?? { - type: updateTypes.UPDATE_THREAD, - id: uuid.v4(), - time, - threadInfo: resultThreadInfo, - }; + const updateInfos = [ + { + type: updateTypes.UPDATE_THREAD, + id: uuid.v4(), + time, + threadInfo: resultThreadInfo, + }, + ]; return { rawMessageInfos: [addMembersMessage], - updateInfos: [update], + updateInfos, threadInfo: resultThreadInfo, }; } diff --git a/lib/shared/dm-ops/add-viewer-to-thread-members-spec.js b/lib/shared/dm-ops/add-viewer-to-thread-members-spec.js --- a/lib/shared/dm-ops/add-viewer-to-thread-members-spec.js +++ b/lib/shared/dm-ops/add-viewer-to-thread-members-spec.js @@ -5,12 +5,10 @@ import type { AddMembersResult } from './add-members-spec.js'; import { createThickRawThreadInfo } from './create-thread-spec.js'; import type { DMOperationSpec } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMAddViewerToThreadMembersOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; import { messageTruncationStatus } from '../../types/message-types.js'; import { updateTypes } from '../../types/update-types-enum.js'; -import type { ClientUpdateInfo } from '../../types/update-types.js'; function createAddViewerToThreadMembersResults( dmOperation: DMAddViewerToThreadMembersOperation, @@ -27,8 +25,6 @@ addedUserIDs: [...addedUserIDs], }; - const updateInfos: Array = []; - const resultThreadInfo = createThickRawThreadInfo( { ...existingThreadDetails, @@ -36,25 +32,17 @@ }, viewerID, ); - updateInfos.push({ - type: updateTypes.JOIN_THREAD, - id: uuid.v4(), - time, - threadInfo: resultThreadInfo, - rawMessageInfos: [addMembersMessage], - truncationStatus: messageTruncationStatus.EXHAUSTIVE, - rawEntryInfos: [], - }); - const repliesCountUpdate = createRepliesCountUpdate(resultThreadInfo, [ - addMembersMessage, - ]); - if ( - repliesCountUpdate && - repliesCountUpdate.type === updateTypes.UPDATE_THREAD - ) { - updateInfos.push(repliesCountUpdate); - resultThreadInfo.repliesCount = repliesCountUpdate.threadInfo.repliesCount; - } + const updateInfos = [ + { + type: updateTypes.JOIN_THREAD, + id: uuid.v4(), + time, + threadInfo: resultThreadInfo, + rawMessageInfos: [addMembersMessage], + truncationStatus: messageTruncationStatus.EXHAUSTIVE, + rawEntryInfos: [], + }, + ]; return { rawMessageInfos: [], updateInfos, diff --git a/lib/shared/dm-ops/change-thread-settings-spec.js b/lib/shared/dm-ops/change-thread-settings-spec.js --- a/lib/shared/dm-ops/change-thread-settings-spec.js +++ b/lib/shared/dm-ops/change-thread-settings-spec.js @@ -11,7 +11,6 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMChangeThreadSettingsAndAddViewerOperation, DMChangeThreadSettingsOperation, @@ -126,13 +125,7 @@ }); } - const repliesCountUpdate = createRepliesCountUpdate( - threadInfoToUpdate, - rawMessageInfos, - ); - if (repliesCountUpdate) { - updateInfos.push(repliesCountUpdate); - } else if (values(changedFields).length > 0) { + if (values(changedFields).length > 0) { updateInfos.push({ type: updateTypes.UPDATE_THREAD, id: uuid.v4(), diff --git a/lib/shared/dm-ops/create-sidebar-spec.js b/lib/shared/dm-ops/create-sidebar-spec.js --- a/lib/shared/dm-ops/create-sidebar-spec.js +++ b/lib/shared/dm-ops/create-sidebar-spec.js @@ -48,7 +48,6 @@ creatorID, sourceMessageID, containingThreadID: parentThreadID, - repliesCount: 1, }, viewerID, ); diff --git a/lib/shared/dm-ops/dm-op-utils.js b/lib/shared/dm-ops/dm-op-utils.js --- a/lib/shared/dm-ops/dm-op-utils.js +++ b/lib/shared/dm-ops/dm-op-utils.js @@ -3,24 +3,16 @@ import uuid from 'uuid'; import type { DMOperation } from '../../types/dm-ops.js'; -import { messageTypes } from '../../types/message-types-enum.js'; -import type { RawMessageInfo } from '../../types/message-types.js'; -import type { RawThreadInfo } from '../../types/minimally-encoded-thread-permissions-types.js'; import { outboundP2PMessageStatuses, type OutboundP2PMessage, } from '../../types/sqlite-types.js'; -import { threadTypes } from '../../types/thread-types-enum.js'; -import type { LegacyRawThreadInfo } from '../../types/thread-types.js'; import { type DMOperationP2PMessage, userActionsP2PMessageTypes, } from '../../types/tunnelbroker/user-actions-peer-to-peer-message-types.js'; -import { updateTypes } from '../../types/update-types-enum.js'; -import type { ClientUpdateInfo } from '../../types/update-types.js'; import type { CurrentUserInfo } from '../../types/user-types.js'; import { getContentSigningKey } from '../../utils/crypto-utils.js'; -import { messageSpecs } from '../messages/message-specs.js'; function generateMessagesToPeers( message: DMOperation, @@ -95,35 +87,4 @@ ); } -function createRepliesCountUpdate( - threadInfo: RawThreadInfo | LegacyRawThreadInfo, - newMessages: $ReadOnlyArray, -): ?ClientUpdateInfo { - if (threadInfo.type !== threadTypes.THICK_SIDEBAR) { - return null; - } - const includedMessageTypes = new Set( - Object.keys(messageTypes) - .map(key => messageTypes[key]) - .filter(type => messageSpecs[type].includedInRepliesCount), - ); - const filteredMessages = newMessages.filter(message => - includedMessageTypes.has(message.type), - ); - const countIncrease = filteredMessages.length; - if (countIncrease === 0) { - return null; - } - const time = Math.max(...filteredMessages.map(message => message.time)); - return { - type: updateTypes.UPDATE_THREAD, - id: uuid.v4(), - time, - threadInfo: { - ...threadInfo, - repliesCount: threadInfo.repliesCount + countIncrease, - }, - }; -} - -export { createMessagesToPeersFromDMOp, createRepliesCountUpdate }; +export { createMessagesToPeersFromDMOp }; diff --git a/lib/shared/dm-ops/join-thread-spec.js b/lib/shared/dm-ops/join-thread-spec.js --- a/lib/shared/dm-ops/join-thread-spec.js +++ b/lib/shared/dm-ops/join-thread-spec.js @@ -11,7 +11,6 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMJoinThreadOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; import { @@ -71,12 +70,6 @@ truncationStatus: messageTruncationStatus.EXHAUSTIVE, rawEntryInfos: [], }); - const repliesCountUpdate = createRepliesCountUpdate(newThreadInfo, [ - joinThreadMessage, - ]); - if (repliesCountUpdate) { - updateInfos.push(repliesCountUpdate); - } } else { invariant(currentThreadInfo.thick, 'Thread should be thick'); @@ -102,18 +95,12 @@ ...currentThreadInfo, members: [...currentThreadInfo.members, member], }; - const updateWithRepliesCount = createRepliesCountUpdate( - updatedThreadInfo, - [joinThreadMessage], - ); - updateInfos.push( - updateWithRepliesCount ?? { - type: updateTypes.UPDATE_THREAD, - id: uuid.v4(), - time, - threadInfo: updatedThreadInfo, - }, - ); + updateInfos.push({ + type: updateTypes.UPDATE_THREAD, + id: uuid.v4(), + time, + threadInfo: updatedThreadInfo, + }); } return { rawMessageInfos, diff --git a/lib/shared/dm-ops/leave-thread-spec.js b/lib/shared/dm-ops/leave-thread-spec.js --- a/lib/shared/dm-ops/leave-thread-spec.js +++ b/lib/shared/dm-ops/leave-thread-spec.js @@ -7,7 +7,6 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMLeaveThreadOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; import { threadTypes } from '../../types/thread-types-enum.js'; @@ -53,18 +52,12 @@ ...threadInfo, members: threadInfo.members.filter(member => member.id !== editorID), }; - const updateWithRepliesCount = createRepliesCountUpdate( - updatedThreadInfo, - [leaveThreadMessage], - ); - updateInfos.push( - updateWithRepliesCount ?? { - type: updateTypes.UPDATE_THREAD, - id: uuid.v4(), - time, - threadInfo: updatedThreadInfo, - }, - ); + updateInfos.push({ + type: updateTypes.UPDATE_THREAD, + id: uuid.v4(), + time, + threadInfo: updatedThreadInfo, + }); } return { diff --git a/lib/shared/dm-ops/remove-members-spec.js b/lib/shared/dm-ops/remove-members-spec.js --- a/lib/shared/dm-ops/remove-members-spec.js +++ b/lib/shared/dm-ops/remove-members-spec.js @@ -7,7 +7,6 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMRemoveMembersOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; import { threadTypes } from '../../types/thread-types-enum.js'; @@ -58,18 +57,12 @@ member => !removedUserIDsSet.has(member.id), ), }; - const updateWithRepliesCount = createRepliesCountUpdate( - updatedThreadInfo, - [removeMembersMessage], - ); - updateInfos.push( - updateWithRepliesCount ?? { - type: updateTypes.UPDATE_THREAD, - id: uuid.v4(), - time, - threadInfo: updatedThreadInfo, - }, - ); + updateInfos.push({ + type: updateTypes.UPDATE_THREAD, + id: uuid.v4(), + time, + threadInfo: updatedThreadInfo, + }); } return { rawMessageInfos: [removeMembersMessage], diff --git a/lib/shared/dm-ops/send-edit-message-spec.js b/lib/shared/dm-ops/send-edit-message-spec.js --- a/lib/shared/dm-ops/send-edit-message-spec.js +++ b/lib/shared/dm-ops/send-edit-message-spec.js @@ -4,18 +4,12 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMSendEditMessageOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; -import type { ClientUpdateInfo } from '../../types/update-types.js'; const sendEditMessageSpec: DMOperationSpec = Object.freeze({ - processDMOperation: async ( - dmOperation: DMSendEditMessageOperation, - viewerID: string, - utilities: ProcessDMOperationUtilities, - ) => { + processDMOperation: async (dmOperation: DMSendEditMessageOperation) => { const { threadID, creatorID, time, messageID, targetMessageID, text } = dmOperation; const editMessage = { @@ -28,17 +22,9 @@ text, }; - const updateInfos: Array = []; - const threadInfo = utilities.threadInfos[threadID]; - const repliesCountUpdate = createRepliesCountUpdate(threadInfo, [ - editMessage, - ]); - if (repliesCountUpdate) { - updateInfos.push(repliesCountUpdate); - } return { rawMessageInfos: [editMessage], - updateInfos, + updateInfos: [], }; }, canBeProcessed( diff --git a/lib/shared/dm-ops/send-reaction-message-spec.js b/lib/shared/dm-ops/send-reaction-message-spec.js --- a/lib/shared/dm-ops/send-reaction-message-spec.js +++ b/lib/shared/dm-ops/send-reaction-message-spec.js @@ -4,18 +4,12 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMSendReactionMessageOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; -import type { ClientUpdateInfo } from '../../types/update-types.js'; const sendReactionMessageSpec: DMOperationSpec = Object.freeze({ - processDMOperation: async ( - dmOperation: DMSendReactionMessageOperation, - viewerID: string, - utilities: ProcessDMOperationUtilities, - ) => { + processDMOperation: async (dmOperation: DMSendReactionMessageOperation) => { const { threadID, creatorID, @@ -36,17 +30,9 @@ action, }; - const updateInfos: Array = []; - const threadInfo = utilities.threadInfos[threadID]; - const repliesCountUpdate = createRepliesCountUpdate(threadInfo, [ - reactionMessage, - ]); - if (repliesCountUpdate) { - updateInfos.push(repliesCountUpdate); - } return { rawMessageInfos: [reactionMessage], - updateInfos, + updateInfos: [], }; }, canBeProcessed( diff --git a/lib/shared/dm-ops/send-text-message-spec.js b/lib/shared/dm-ops/send-text-message-spec.js --- a/lib/shared/dm-ops/send-text-message-spec.js +++ b/lib/shared/dm-ops/send-text-message-spec.js @@ -4,18 +4,13 @@ DMOperationSpec, ProcessDMOperationUtilities, } from './dm-op-spec.js'; -import { createRepliesCountUpdate } from './dm-op-utils.js'; import type { DMSendTextMessageOperation } from '../../types/dm-ops.js'; import { messageTypes } from '../../types/message-types-enum.js'; import type { ClientUpdateInfo } from '../../types/update-types.js'; const sendTextMessageSpec: DMOperationSpec = Object.freeze({ - processDMOperation: async ( - dmOperation: DMSendTextMessageOperation, - viewerID: string, - utilities: ProcessDMOperationUtilities, - ) => { + processDMOperation: async (dmOperation: DMSendTextMessageOperation) => { const { threadID, creatorID, time, messageID, text } = dmOperation; const textMessage = { type: messageTypes.TEXT, @@ -26,13 +21,6 @@ text, }; const updateInfos: Array = []; - const threadInfo = utilities.threadInfos[threadID]; - const repliesCountUpdate = createRepliesCountUpdate(threadInfo, [ - textMessage, - ]); - if (repliesCountUpdate) { - updateInfos.push(repliesCountUpdate); - } return { rawMessageInfos: [textMessage], updateInfos,