From c7b7a0a9b62a0b7dcff74bc570213a00a74cf1c9 Mon Sep 17 00:00:00 2001 From: trevor-signal <131492920+trevor-signal@users.noreply.github.com> Date: Mon, 9 Mar 2026 15:35:30 -0400 Subject: [PATCH] Exclude erased messages from backup --- ts/services/backups/export.preload.ts | 2 ++ .../backup/bubble_test.preload.ts | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/ts/services/backups/export.preload.ts b/ts/services/backups/export.preload.ts index 36fc1467fd..1740d07a76 100644 --- a/ts/services/backups/export.preload.ts +++ b/ts/services/backups/export.preload.ts @@ -1748,6 +1748,8 @@ export class BackupExportStream extends Readable { } else if (message.pollTerminateNotification) { // TODO (DESKTOP-9282) return undefined; + } else if (message.isErased) { + return undefined; } else { result.standardMessage = await this.#toStandardMessage({ message, diff --git a/ts/test-electron/backup/bubble_test.preload.ts b/ts/test-electron/backup/bubble_test.preload.ts index c46ad77852..37ce2e05ad 100644 --- a/ts/test-electron/backup/bubble_test.preload.ts +++ b/ts/test-electron/backup/bubble_test.preload.ts @@ -603,6 +603,28 @@ describe('backup/bubble messages', () => { [] ); }); + it('drops erased messages', async () => { + await asymmetricRoundtripHarness( + [ + { + conversationId: gv1.id, + id: generateGuid(), + type: 'incoming', + received_at: 3, + received_at_ms: 3, + isErased: true, + sent_at: 3, + timestamp: 3, + sourceServiceId: CONTACT_A, + body: 'd', + readStatus: ReadStatus.Unread, + seenStatus: SeenStatus.Unseen, + unidentifiedDeliveryReceived: true, + }, + ], + [] + ); + }); it('drops messages that expire soon', async () => { await asymmetricRoundtripHarness(