From 47c49d0a205fd84577657286e8301cb36d82c4e4 Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Fri, 8 Dec 2023 02:30:20 +0100 Subject: [PATCH] Persist reaction.receivedAtDate --- ts/background.ts | 2 ++ ts/messageModifiers/Reactions.ts | 1 + ts/model-types.d.ts | 1 + ts/models/messages.ts | 1 + ts/reactions/enqueueReactionForSend.ts | 1 + ts/test-both/reactions/util_test.ts | 1 + ts/test-electron/state/ducks/conversations_test.ts | 2 ++ 7 files changed, 9 insertions(+) diff --git a/ts/background.ts b/ts/background.ts index d5e45727be..0e66997459 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -2397,6 +2397,7 @@ export async function startApp(): Promise { storyReactionMessage: message, targetAuthorAci, targetTimestamp: reaction.targetTimestamp, + receivedAtDate: data.receivedAtDate, timestamp, }; @@ -2731,6 +2732,7 @@ export async function startApp(): Promise { storyReactionMessage: message, targetAuthorAci, targetTimestamp: reaction.targetTimestamp, + receivedAtDate: data.receivedAtDate, timestamp, }; drop(Reactions.onReaction(attributes)); diff --git a/ts/messageModifiers/Reactions.ts b/ts/messageModifiers/Reactions.ts index 4918e50388..f167877258 100644 --- a/ts/messageModifiers/Reactions.ts +++ b/ts/messageModifiers/Reactions.ts @@ -28,6 +28,7 @@ export type ReactionAttributesType = { targetAuthorAci: AciString; targetTimestamp: number; timestamp: number; + receivedAtDate: number; }; const reactions = new Map(); diff --git a/ts/model-types.d.ts b/ts/model-types.d.ts index 10f90188c1..d027addba7 100644 --- a/ts/model-types.d.ts +++ b/ts/model-types.d.ts @@ -110,6 +110,7 @@ export type MessageReactionType = { fromId: string; targetTimestamp: number; timestamp: number; + receivedAtDate: undefined | number; isSentByConversationId?: Record; }; diff --git a/ts/models/messages.ts b/ts/models/messages.ts index 742e3f1c66..8a67726225 100644 --- a/ts/models/messages.ts +++ b/ts/models/messages.ts @@ -2446,6 +2446,7 @@ export class MessageModel extends window.Backbone.Model { fromId: reaction.fromId, targetTimestamp: reaction.targetTimestamp, timestamp: reaction.timestamp, + receivedAtDate: reaction.receivedAtDate, isSentByConversationId: isFromThisDevice ? zipObject(conversation.getMemberConversationIds(), repeat(false)) : undefined, diff --git a/ts/reactions/enqueueReactionForSend.ts b/ts/reactions/enqueueReactionForSend.ts index 2dbfffaf7a..5cc551f2f3 100644 --- a/ts/reactions/enqueueReactionForSend.ts +++ b/ts/reactions/enqueueReactionForSend.ts @@ -109,6 +109,7 @@ export async function enqueueReactionForSend({ storyReactionMessage, targetAuthorAci, targetTimestamp, + receivedAtDate: timestamp, timestamp, }; diff --git a/ts/test-both/reactions/util_test.ts b/ts/test-both/reactions/util_test.ts index 1ef470a1df..4235eb666b 100644 --- a/ts/test-both/reactions/util_test.ts +++ b/ts/test-both/reactions/util_test.ts @@ -26,6 +26,7 @@ describe('reaction utilities', () => { fromId: OUR_CONVO_ID, targetTimestamp: Date.now(), timestamp: Date.now(), + receivedAtDate: Date.now(), ...(isPending ? { isSentByConversationId: { [uuid()]: false } } : {}), }); diff --git a/ts/test-electron/state/ducks/conversations_test.ts b/ts/test-electron/state/ducks/conversations_test.ts index c358832165..7e30187a50 100644 --- a/ts/test-electron/state/ducks/conversations_test.ts +++ b/ts/test-electron/state/ducks/conversations_test.ts @@ -1606,6 +1606,7 @@ describe('both/state/ducks/conversations', () => { emoji: '✨', fromId: 'some-other-id', timestamp: 2222, + receivedAtDate: 3333, targetTimestamp: 1111, }, ], @@ -1636,6 +1637,7 @@ describe('both/state/ducks/conversations', () => { emoji: '✨', fromId: 'some-other-id', timestamp: 2222, + receivedAtDate: 3333, targetTimestamp: 1111, }, ],