From b2e2e6d8ebf1c35bd2397021a26a05289a700874 Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Fri, 13 Aug 2021 09:02:28 -0700 Subject: [PATCH] Fallback to sent_at when serverTimestamp is empty --- ts/util/deleteForEveryone.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ts/util/deleteForEveryone.ts b/ts/util/deleteForEveryone.ts index d79d06eca7..55e256fa2a 100644 --- a/ts/util/deleteForEveryone.ts +++ b/ts/util/deleteForEveryone.ts @@ -11,16 +11,19 @@ export async function deleteForEveryone( doe: DeleteModel, shouldPersist = true ): Promise { + const messageTimestamp = + message.get('serverTimestamp') || message.get('sent_at') || 0; + // Make sure the server timestamps for the DOE and the matching message // are less than one day apart - const delta = Math.abs( - doe.get('serverTimestamp') - (message.get('serverTimestamp') || 0) - ); + const delta = Math.abs(doe.get('serverTimestamp') - messageTimestamp); + if (delta > ONE_DAY) { window.log.info('Received late DOE. Dropping.', { fromId: doe.get('fromId'), targetSentTimestamp: doe.get('targetSentTimestamp'), messageServerTimestamp: message.get('serverTimestamp'), + messageSentAt: message.get('sent_at'), deleteServerTimestamp: doe.get('serverTimestamp'), }); return;