From 2221d81a2334da08e3b63fd4f1d79ecc448bfeac Mon Sep 17 00:00:00 2001 From: William Grant Date: Mon, 3 Apr 2023 14:09:06 +0200 Subject: [PATCH] fix: reverted setToExpire timer, fixed incorrect expirationLength value in getPropsForExpiringMessage --- ts/models/conversation.ts | 2 ++ ts/models/message.ts | 12 ++++++++---- ts/receiver/contentMessage.ts | 5 +---- ts/receiver/queuedJob.ts | 1 - ts/session/group/closed-group.ts | 7 ------- ts/session/sending/MessageSentHandler.ts | 1 - 6 files changed, 11 insertions(+), 17 deletions(-) diff --git a/ts/models/conversation.ts b/ts/models/conversation.ts index 1b9249e67..2fb3ca525 100644 --- a/ts/models/conversation.ts +++ b/ts/models/conversation.ts @@ -2010,6 +2010,8 @@ export class ConversationModel extends Backbone.Model { const messageId = await model.commit(false); model.set({ id: messageId }); + await model.setToExpire(); + const messageModelProps = model.getMessageModelProps(); window.inboxStore?.dispatch(conversationActions.messagesChanged([messageModelProps])); const unreadCount = await this.getUnreadCount(); diff --git a/ts/models/message.ts b/ts/models/message.ts index 92d24fdc5..bc630d2a7 100644 --- a/ts/models/message.ts +++ b/ts/models/message.ts @@ -280,13 +280,15 @@ export class MessageModel extends Backbone.Model { public getPropsForExpiringMessage(): PropsForExpiringMessage | { direction: MessageModelType } { const expirationType = this.get('expirationType'); - const expirationLength = this.get('expireTimer') || null; + const expirationLength = this.get('expireTimer') + ? this.get('expireTimer') * DURATION.SECONDS + : null; const expireTimerStart = this.get('expirationStartTimestamp') || null; const expirationTimestamp = expirationType && expireTimerStart && expirationLength - ? expireTimerStart + expirationLength * DURATION.SECONDS + ? expireTimerStart + expirationLength : null; const direction = @@ -492,10 +494,12 @@ export class MessageModel extends Backbone.Model { public getPropsForMessage(options: any = {}): PropsForMessageWithoutConvoProps { const sender = this.getSource(); const expirationType = this.get('expirationType'); - const expirationLength = this.get('expireTimer') * 1000; + const expirationLength = this.get('expireTimer') * DURATION.SECONDS; const expireTimerStart = this.get('expirationStartTimestamp'); const expirationTimestamp = - expirationLength && expireTimerStart ? expireTimerStart + expirationLength : null; + expirationType && expirationLength && expireTimerStart + ? expireTimerStart + expirationLength + : null; const attachments = this.get('attachments') || []; const isTrustedForAttachmentDownload = this.isTrustedForAttachmentDownload(); diff --git a/ts/receiver/contentMessage.ts b/ts/receiver/contentMessage.ts index 4e3ea70bc..e74bba38b 100644 --- a/ts/receiver/contentMessage.ts +++ b/ts/receiver/contentMessage.ts @@ -781,7 +781,7 @@ export async function handleDataExtractionNotification( // TODO legacy messages support will be removed in a future release const isLegacyMode = convo && convo.isPrivate() && expirationType === 'legacy'; - const msgModel = await convo.addSingleIncomingMessage({ + await convo.addSingleIncomingMessage({ source, sent_at: envelopeTimestamp, dataExtractionNotification: { @@ -799,9 +799,6 @@ export async function handleDataExtractionNotification( : undefined, }); - if (isLegacyMode || expirationType === 'deleteAfterSend') { - await msgModel.setToExpire(); - } convo.updateLastMessage(); } } diff --git a/ts/receiver/queuedJob.ts b/ts/receiver/queuedJob.ts index 4db44ccea..184f2a06e 100644 --- a/ts/receiver/queuedJob.ts +++ b/ts/receiver/queuedJob.ts @@ -350,7 +350,6 @@ export async function handleMessageJob( messageModel.get('expirationType') === 'legacy' ), }); - messageModel.setToExpire(); } if (messageModel.isExpirationTimerUpdate()) { diff --git a/ts/session/group/closed-group.ts b/ts/session/group/closed-group.ts index 1771d1bba..3b0fc9c62 100644 --- a/ts/session/group/closed-group.ts +++ b/ts/session/group/closed-group.ts @@ -188,10 +188,6 @@ export async function addUpdateMessage( if (UserUtils.isUsFromCache(sender)) { const outgoingMessage = await convo.addSingleOutgoingMessage(msgModel); - // NOTE will always be delete after send - if (expirationType) { - outgoingMessage.setToExpire(); - } return outgoingMessage; } @@ -208,9 +204,6 @@ export async function addUpdateMessage( await convo.commit(); - if (expirationType) { - incomingMessage.setToExpire(); - } return incomingMessage; } diff --git a/ts/session/sending/MessageSentHandler.ts b/ts/session/sending/MessageSentHandler.ts index bbeffb7a4..441cf7191 100644 --- a/ts/session/sending/MessageSentHandler.ts +++ b/ts/session/sending/MessageSentHandler.ts @@ -151,7 +151,6 @@ async function handleMessageSentSuccess( isLegacySentMode ), }); - fetchedMessage.setToExpire(); } }