feat: moved setToExpire calls to the correct locations within the message pipeline depending on the expirationType of a message model

pull/2660/head
William Grant 2 years ago
parent 46ab397a0f
commit 6a38e09f4f

@ -2010,8 +2010,6 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
const messageId = await model.commit(false); const messageId = await model.commit(false);
model.set({ id: messageId }); model.set({ id: messageId });
await model.setToExpire();
const messageModelProps = model.getMessageModelProps(); const messageModelProps = model.getMessageModelProps();
window.inboxStore?.dispatch(conversationActions.messagesChanged([messageModelProps])); window.inboxStore?.dispatch(conversationActions.messagesChanged([messageModelProps]));
const unreadCount = await this.getUnreadCount(); const unreadCount = await this.getUnreadCount();

@ -781,7 +781,7 @@ export async function handleDataExtractionNotification(
// TODO legacy messages support will be removed in a future release // TODO legacy messages support will be removed in a future release
const isLegacyMode = convo && convo.isPrivate() && expirationType === 'legacy'; const isLegacyMode = convo && convo.isPrivate() && expirationType === 'legacy';
await convo.addSingleIncomingMessage({ const msgModel = await convo.addSingleIncomingMessage({
source, source,
sent_at: envelopeTimestamp, sent_at: envelopeTimestamp,
dataExtractionNotification: { dataExtractionNotification: {
@ -798,6 +798,10 @@ export async function handleDataExtractionNotification(
? setExpirationStartTimestamp('deleteAfterSend', undefined, isLegacyMode) ? setExpirationStartTimestamp('deleteAfterSend', undefined, isLegacyMode)
: undefined, : undefined,
}); });
if (isLegacyMode || expirationType === 'deleteAfterSend') {
await msgModel.setToExpire();
}
convo.updateLastMessage(); convo.updateLastMessage();
} }
} }

@ -350,6 +350,7 @@ export async function handleMessageJob(
messageModel.get('expirationType') === 'legacy' messageModel.get('expirationType') === 'legacy'
), ),
}); });
messageModel.setToExpire();
} }
if (messageModel.isExpirationTimerUpdate()) { if (messageModel.isExpirationTimerUpdate()) {

@ -188,6 +188,10 @@ export async function addUpdateMessage(
if (UserUtils.isUsFromCache(sender)) { if (UserUtils.isUsFromCache(sender)) {
const outgoingMessage = await convo.addSingleOutgoingMessage(msgModel); const outgoingMessage = await convo.addSingleOutgoingMessage(msgModel);
// NOTE will always be delete after send
if (expirationType) {
outgoingMessage.setToExpire();
}
return outgoingMessage; return outgoingMessage;
} }
@ -203,6 +207,10 @@ export async function addUpdateMessage(
}); });
await convo.commit(); await convo.commit();
if (expirationType) {
incomingMessage.setToExpire();
}
return incomingMessage; return incomingMessage;
} }

@ -151,6 +151,7 @@ async function handleMessageSentSuccess(
isLegacySentMode isLegacySentMode
), ),
}); });
fetchedMessage.setToExpire();
} }
} }

Loading…
Cancel
Save