From 842566a34f39b4dcf2b1b252f3b67a92a648a3f9 Mon Sep 17 00:00:00 2001 From: Wes Appler Date: Sun, 26 Nov 2023 17:22:56 -0500 Subject: [PATCH] Always allow 'Note To Self' deletions regardless of time --- ts/components/DeleteMessagesModal.tsx | 2 +- ts/util/sendDeleteForEveryoneMessage.ts | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ts/components/DeleteMessagesModal.tsx b/ts/components/DeleteMessagesModal.tsx index e12c248270..c967d6a8e7 100644 --- a/ts/components/DeleteMessagesModal.tsx +++ b/ts/components/DeleteMessagesModal.tsx @@ -41,7 +41,7 @@ export default function DeleteMessagesModal({ : i18n('icu:DeleteMessagesModal--deleteForMe'), }); - if (canDeleteForEveryone) { + if (canDeleteForEveryone || isMe) { const tooManyMessages = messageCount > MAX_DELETE_FOR_EVERYONE; actions.push({ 'aria-disabled': tooManyMessages, diff --git a/ts/util/sendDeleteForEveryoneMessage.ts b/ts/util/sendDeleteForEveryoneMessage.ts index 9d118d4059..3a7df540ae 100644 --- a/ts/util/sendDeleteForEveryoneMessage.ts +++ b/ts/util/sendDeleteForEveryoneMessage.ts @@ -19,6 +19,7 @@ import { __DEPRECATED$getMessageById } from '../messages/getMessageById'; import { getRecipientConversationIds } from './getRecipientConversationIds'; import { getRecipients } from './getRecipients'; import { repeat, zipObject } from './iterables'; +import { isMe } from './whatTypeOfConversation'; export async function sendDeleteForEveryoneMessage( conversationAttributes: ConversationAttributesType, @@ -39,10 +40,13 @@ export async function sendDeleteForEveryoneMessage( } const idForLogging = getMessageIdForLogging(message.attributes); - const timestamp = Date.now(); - const maxDuration = deleteForEveryoneDuration || DAY; - if (timestamp - targetTimestamp > maxDuration) { - throw new Error(`Cannot send DOE for a message older than ${maxDuration}`); + // If conversation is a Note To Self, no deletion time limits apply. + if (!isMe(conversationAttributes)) { + const timestamp = Date.now(); + const maxDuration = deleteForEveryoneDuration || DAY; + if (timestamp - targetTimestamp > maxDuration) { + throw new Error(`Cannot send DOE for a message older than ${maxDuration}`); + } } message.set({