diff --git a/ts/receiver/queuedJob.ts b/ts/receiver/queuedJob.ts index 2b07a7050..c3b40594a 100644 --- a/ts/receiver/queuedJob.ts +++ b/ts/receiver/queuedJob.ts @@ -1,7 +1,7 @@ import { queueAttachmentDownloads } from './attachments'; import { Quote } from './types'; -import _, { isEqual } from 'lodash'; +import _, { isEmpty, isEqual } from 'lodash'; import { getConversationController } from '../session/conversations'; import { ConversationModel } from '../models/conversation'; import { MessageModel, sliceQuoteText } from '../models/message'; @@ -361,9 +361,11 @@ export async function handleMessageJob( ConversationTypeEnum.PRIVATE ); try { + console.log(`WIP: handleMessageJob expireUpdate`, expireUpdate, regularDataMessage); messageModel.set({ flags: regularDataMessage.flags }); // TODO remove 2 weeks after release if (messageModel.isExpirationTimerUpdate()) { + console.log(`WIP: isExpirationTimerUpdate`, messageModel); // TODO account for lastDisappearingMessageChangeTimestamp const { expireTimer: oldExpireTimer } = regularDataMessage; const expirationType = expireUpdate.expirationType; @@ -375,7 +377,7 @@ export async function handleMessageJob( if (isEqual(expirationType, oldTypeValue) && expireTimer === oldTimerValue) { confirm?.(); window?.log?.info( - 'Dropping ExpireTimerUpdate message as we already have the same one set.' + 'WIP: Dropping ExpireTimerUpdate message as we already have the same one set.' ); return; } @@ -388,6 +390,12 @@ export async function handleMessageJob( expireTimer ); } else { + if (!isEmpty(expireUpdate)) { + messageModel.set({ + expirationType: expireUpdate.expirationType, + expireTimer: expireUpdate.expireTimer, + }); + } // this does not commit to db nor UI unless we need to approve a convo await handleRegularMessage( conversation, diff --git a/ts/session/sending/MessageSentHandler.ts b/ts/session/sending/MessageSentHandler.ts index c12f607a4..e41da4986 100644 --- a/ts/session/sending/MessageSentHandler.ts +++ b/ts/session/sending/MessageSentHandler.ts @@ -131,10 +131,10 @@ async function handleMessageSentSuccess( sent_at: effectiveTimestamp, }); - if (fetchedMessage.get('expirationType') === 'deleteAfterSend') { + if (fetchedMessage.get('expirationType')) { const expirationStartTimestamp = setExpirationStartTimestamp( fetchedMessage, - 'deleteAfterSend', + fetchedMessage.get('expirationType')!, effectiveTimestamp ); fetchedMessage.set('expirationStartTimestamp', expirationStartTimestamp); diff --git a/ts/util/readReceipts.ts b/ts/util/readReceipts.ts index 2c2e811b0..4881c5960 100644 --- a/ts/util/readReceipts.ts +++ b/ts/util/readReceipts.ts @@ -47,13 +47,6 @@ async function onReadReceipt(receipt: { source: string; timestamp: number; readA // we do not care of who read it. If the length is > 0 , it is read and false otherwise let readBy = message.get('read_by') || []; let expirationStartTimestamp = undefined; - if (message.get('expirationType') === 'deleteAfterRead') { - expirationStartTimestamp = setExpirationStartTimestamp( - message, - 'deleteAfterRead', - message.get('expirationStartTimestamp') - ); - } if (!readBy.length) { readBy.push(receipt.source);