From 816f29d682464ac7f5004a356e510953a2b1d329 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Thu, 13 Jun 2024 09:52:03 +1000 Subject: [PATCH] chore: moved outgoing message wrapper functions to MessagWrapper.ts --- ts/models/conversation.ts | 2 - .../factories/StoreGroupRequestFactory.ts | 4 +- ts/session/apis/snode_api/revokeSubaccount.ts | 4 +- ts/session/apis/snode_api/types.ts | 4 +- .../conversations/ConversationController.ts | 2 - ts/session/sending/MessageSender.ts | 49 ++----------------- ts/session/sending/MessageWrapper.ts | 41 ++++++++++++++++ .../utils/job_runners/jobs/GroupSyncJob.ts | 2 - .../utils/job_runners/jobs/UserSyncJob.ts | 2 - ts/state/ducks/metaGroups.ts | 8 --- .../group_sync_job/GroupSyncJob_test.ts | 8 --- .../user_sync_job/UserSyncJob_test.ts | 2 - 12 files changed, 51 insertions(+), 77 deletions(-) create mode 100644 ts/session/sending/MessageWrapper.ts diff --git a/ts/models/conversation.ts b/ts/models/conversation.ts index 8ca671b9f..9d4ddd777 100644 --- a/ts/models/conversation.ts +++ b/ts/models/conversation.ts @@ -1130,8 +1130,6 @@ export class ConversationModel extends Backbone.Model { await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk: this.id, - revokeSubRequest: null, - unrevokeSubRequest: null, deleteAllMessagesSubRequest: null, supplementalKeysSubRequest: [], extraStoreRequests, diff --git a/ts/session/apis/snode_api/factories/StoreGroupRequestFactory.ts b/ts/session/apis/snode_api/factories/StoreGroupRequestFactory.ts index e8bd8ff79..bcca72ac8 100644 --- a/ts/session/apis/snode_api/factories/StoreGroupRequestFactory.ts +++ b/ts/session/apis/snode_api/factories/StoreGroupRequestFactory.ts @@ -4,7 +4,7 @@ import { SignalService } from '../../../../protobuf'; import { MetaGroupWrapperActions } from '../../../../webworker/workers/browser/libsession_worker_interface'; import { GroupUpdateInfoChangeMessage } from '../../../messages/outgoing/controlMessage/group_v2/to_group/GroupUpdateInfoChangeMessage'; import { GroupUpdateMemberChangeMessage } from '../../../messages/outgoing/controlMessage/group_v2/to_group/GroupUpdateMemberChangeMessage'; -import { MessageSender } from '../../../sending'; +import { MessageWrapper } from '../../../sending/MessageWrapper'; import { ed25519Str } from '../../../utils/String'; import { PendingChangesForGroup } from '../../../utils/libsession/libsession_utils'; import { @@ -35,7 +35,7 @@ async function makeGroupMessageSubRequest( } const messagesToEncrypt: Array = compactedMessages.map(updateMessage => { - const wrapped = MessageSender.wrapContentIntoEnvelope( + const wrapped = MessageWrapper.wrapContentIntoEnvelope( SignalService.Envelope.Type.SESSION_MESSAGE, undefined, updateMessage.createAtNetworkTimestamp, // message is signed with this timestmap diff --git a/ts/session/apis/snode_api/revokeSubaccount.ts b/ts/session/apis/snode_api/revokeSubaccount.ts index 5572692e9..5a846c5e9 100644 --- a/ts/session/apis/snode_api/revokeSubaccount.ts +++ b/ts/session/apis/snode_api/revokeSubaccount.ts @@ -28,7 +28,7 @@ async function getRevokeSubaccountParams( timestamp: GetNetworkTime.now(), secretKey, }) - : null; + : undefined; const unrevokeSubRequest = unrevokeChanges.length ? new SubaccountUnrevokeSubRequest({ groupPk, @@ -36,7 +36,7 @@ async function getRevokeSubaccountParams( timestamp: GetNetworkTime.now(), secretKey, }) - : null; + : undefined; return { revokeSubRequest, diff --git a/ts/session/apis/snode_api/types.ts b/ts/session/apis/snode_api/types.ts index f569863a2..729769b23 100644 --- a/ts/session/apis/snode_api/types.ts +++ b/ts/session/apis/snode_api/types.ts @@ -37,8 +37,8 @@ export type ShortenOrExtend = 'extend' | 'shorten' | ''; export type WithShortenOrExtend = { shortenOrExtend: ShortenOrExtend }; export type WithRevokeSubRequest = { - revokeSubRequest: SubaccountRevokeSubRequest | null; - unrevokeSubRequest: SubaccountUnrevokeSubRequest | null; + revokeSubRequest?: SubaccountRevokeSubRequest; + unrevokeSubRequest?: SubaccountUnrevokeSubRequest; }; export type SignedHashesParams = WithSignature & { diff --git a/ts/session/conversations/ConversationController.ts b/ts/session/conversations/ConversationController.ts index 198fa6fb4..407c68384 100644 --- a/ts/session/conversations/ConversationController.ts +++ b/ts/session/conversations/ConversationController.ts @@ -327,8 +327,6 @@ class ConvoController { await MetaGroupWrapperActions.infoDestroy(groupPk); const lastPushResult = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, - revokeSubRequest: null, - unrevokeSubRequest: null, supplementalKeysSubRequest: [], deleteAllMessagesSubRequest, extraStoreRequests: [], diff --git a/ts/session/sending/MessageSender.ts b/ts/session/sending/MessageSender.ts index 768747654..b3eab85c8 100644 --- a/ts/session/sending/MessageSender.ts +++ b/ts/session/sending/MessageSender.ts @@ -70,6 +70,7 @@ import { OutgoingRawMessage } from '../types/RawMessage'; import { UserUtils } from '../utils'; import { ed25519Str, fromUInt8ArrayToBase64 } from '../utils/String'; import { MessageSentHandler } from './MessageSentHandler'; +import { MessageWrapper } from './MessageWrapper'; // ================ SNODE STORE ================ @@ -546,7 +547,7 @@ async function encryptForGroupV2( networkTimestamp, } = params; - const envelope = wrapContentIntoEnvelope( + const envelope = MessageWrapper.wrapContentIntoEnvelope( SignalService.Envelope.Type.CLOSED_GROUP_MESSAGE, destination, networkTimestamp, @@ -599,13 +600,13 @@ async function encryptMessageAndWrap( encryptionBasedOnConversation(recipient) ); - const envelope = wrapContentIntoEnvelope( + const envelope = MessageWrapper.wrapContentIntoEnvelope( envelopeType, recipient.key, networkTimestamp, cipherText ); - const data = wrapEnvelopeInWebSocketMessage(envelope); + const data = MessageWrapper.wrapEnvelopeInWebSocketMessage(envelope); return { encryptedAndWrappedData: data, @@ -736,51 +737,10 @@ async function sendUnencryptedDataToSnode { // return await so we catch exceptions in here return await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk: thisJobDestination, - revokeSubRequest: null, - unrevokeSubRequest: null, supplementalKeysSubRequest: [], extraStoreRequests: [], }); diff --git a/ts/session/utils/job_runners/jobs/UserSyncJob.ts b/ts/session/utils/job_runners/jobs/UserSyncJob.ts index 4ebfa93d3..c18234124 100644 --- a/ts/session/utils/job_runners/jobs/UserSyncJob.ts +++ b/ts/session/utils/job_runners/jobs/UserSyncJob.ts @@ -119,8 +119,6 @@ async function pushChangesToUserSwarmIfNeeded() { storeRequests, destination: us, deleteHashesSubRequest, - revokeSubRequest: null, - unrevokeSubRequest: null, }); const expectedReplyLength = diff --git a/ts/state/ducks/metaGroups.ts b/ts/state/ducks/metaGroups.ts index c736024aa..4a1c018fc 100644 --- a/ts/state/ducks/metaGroups.ts +++ b/ts/state/ducks/metaGroups.ts @@ -209,8 +209,6 @@ const initNewGroupInWrapper = createAsyncThunk( const result = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, - revokeSubRequest: null, - unrevokeSubRequest: null, supplementalKeysSubRequest: [], deleteAllMessagesSubRequest: null, extraStoreRequests, @@ -836,8 +834,6 @@ async function handleMemberRemovedFromUI({ const sequenceResult = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, supplementalKeysSubRequest: [], - revokeSubRequest: null, - unrevokeSubRequest: null, deleteAllMessagesSubRequest: null, extraStoreRequests, }); @@ -918,8 +914,6 @@ async function handleNameChangeFromUI({ const batchResult = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, supplementalKeysSubRequest: [], - revokeSubRequest: null, - unrevokeSubRequest: null, deleteAllMessagesSubRequest: null, extraStoreRequests, }); @@ -1041,8 +1035,6 @@ const triggerFakeAvatarUpdate = createAsyncThunk( const batchResult = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, supplementalKeysSubRequest: [], - revokeSubRequest: null, - unrevokeSubRequest: null, deleteAllMessagesSubRequest: null, extraStoreRequests, }); diff --git a/ts/test/session/unit/utils/job_runner/group_sync_job/GroupSyncJob_test.ts b/ts/test/session/unit/utils/job_runner/group_sync_job/GroupSyncJob_test.ts index b0dd18a3c..d05a6870e 100644 --- a/ts/test/session/unit/utils/job_runner/group_sync_job/GroupSyncJob_test.ts +++ b/ts/test/session/unit/utils/job_runner/group_sync_job/GroupSyncJob_test.ts @@ -275,8 +275,6 @@ describe('GroupSyncJob pushChangesToGroupSwarmIfNeeded', () => { const result = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, - revokeSubRequest: null, - unrevokeSubRequest: null, supplementalKeysSubRequest: [], extraStoreRequests: [], }); @@ -301,8 +299,6 @@ describe('GroupSyncJob pushChangesToGroupSwarmIfNeeded', () => { }); const result = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, - revokeSubRequest: null, - unrevokeSubRequest: null, supplementalKeysSubRequest: [], extraStoreRequests: [], }); @@ -335,8 +331,6 @@ describe('GroupSyncJob pushChangesToGroupSwarmIfNeeded', () => { storeRequests: [expectedInfo, expectedMember], destination: groupPk, messagesHashesToDelete: new Set('123'), - unrevokeSubRequest: null, - revokeSubRequest: null, }; expect(callArgs).to.be.deep.eq(expectedArgs); }); @@ -376,8 +370,6 @@ describe('GroupSyncJob pushChangesToGroupSwarmIfNeeded', () => { ]); const result = await GroupSync.pushChangesToGroupSwarmIfNeeded({ groupPk, - revokeSubRequest: null, - unrevokeSubRequest: null, supplementalKeysSubRequest: [], extraStoreRequests: [], }); diff --git a/ts/test/session/unit/utils/job_runner/user_sync_job/UserSyncJob_test.ts b/ts/test/session/unit/utils/job_runner/user_sync_job/UserSyncJob_test.ts index d04f02456..23b38218c 100644 --- a/ts/test/session/unit/utils/job_runner/user_sync_job/UserSyncJob_test.ts +++ b/ts/test/session/unit/utils/job_runner/user_sync_job/UserSyncJob_test.ts @@ -315,8 +315,6 @@ describe('UserSyncJob pushChangesToUserSwarmIfNeeded', () => { storeRequests: [expectedProfile, expectedContact], destination: sessionId, messagesHashesToDelete: new Set('123'), - unrevokeSubRequest: null, - revokeSubRequest: null, }; // callArgs.storeRequests = callArgs.storeRequests.map(_m => null) as any; expect(callArgs).to.be.deep.eq(expectedArgs);