Fallback to sent_at when serverTimestamp is empty

Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
This commit is contained in:
automated-signal
2021-08-13 09:23:56 -07:00
committed by GitHub
parent f48266553e
commit 8b03547148

View File

@@ -11,16 +11,19 @@ export async function deleteForEveryone(
doe: DeleteModel,
shouldPersist = true
): Promise<void> {
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;