From 3bd11cf215005c3d51a2893c5b417150e9e7a972 Mon Sep 17 00:00:00 2001 From: trevor-signal <131492920+trevor-signal@users.noreply.github.com> Date: Tue, 10 Mar 2026 12:01:01 -0400 Subject: [PATCH] Improvements to local import testing --- ts/services/backups/index.preload.ts | 15 +++++++++++++++ ts/textsecure/Provisioner.preload.ts | 2 +- ts/util/isLinkAndSyncEnabled.preload.ts | 6 ++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ts/services/backups/index.preload.ts b/ts/services/backups/index.preload.ts index 4e2281cd01..1e5d5ed83f 100644 --- a/ts/services/backups/index.preload.ts +++ b/ts/services/backups/index.preload.ts @@ -537,11 +537,26 @@ export class BackupsService { const { success, error } = result; if (success) { this.#localBackupSnapshotDir = snapshotDir; + + if (!isTestOrMockEnvironment()) { + // Regenerate QR code without link & sync option + window.reduxActions.installer.startInstaller(); + + // eslint-disable-next-line no-alert + window.alert( + 'Staged backup successfully. Please link to perform import.' + ); + } + log.info( `stageLocalBackupForImport: Staged ${snapshotDir} for import. Please link to perform import.` ); } else { this.#localBackupSnapshotDir = undefined; + // eslint-disable-next-line no-alert + window.alert( + 'Invalid backup snapshot directory; make sure you choose a snapshot directory (e.g. `signal-backup-2026-01-01-12-00-00`)' + ); log.info( `stageLocalBackupForImport: Invalid snapshot ${snapshotDir}. Error: ${error}.` ); diff --git a/ts/textsecure/Provisioner.preload.ts b/ts/textsecure/Provisioner.preload.ts index 3a6642c27e..587abb92c3 100644 --- a/ts/textsecure/Provisioner.preload.ts +++ b/ts/textsecure/Provisioner.preload.ts @@ -391,7 +391,7 @@ export class Provisioner { .toAppUrl({ uuid, pubKey: Bytes.toBase64(cipher.getPublicKey().serialize()), - capabilities: isLinkAndSyncEnabled() ? ['backup4', 'backup5'] : [], + capabilities: isLinkAndSyncEnabled() ? ['backup5'] : [], }) .toString(); diff --git a/ts/util/isLinkAndSyncEnabled.preload.ts b/ts/util/isLinkAndSyncEnabled.preload.ts index 2d21f63d5e..917aded6b6 100644 --- a/ts/util/isLinkAndSyncEnabled.preload.ts +++ b/ts/util/isLinkAndSyncEnabled.preload.ts @@ -1,6 +1,7 @@ // Copyright 2024 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only +import { backupsService } from '../services/backups/index.preload.js'; import { everDone as wasRegistrationEverDone } from './registration.preload.js'; export function isLinkAndSyncEnabled(): boolean { @@ -9,5 +10,10 @@ export function isLinkAndSyncEnabled(): boolean { return false; } + // For local backup import testing, prevent link & sync + if (backupsService.isLocalBackupStaged()) { + return false; + } + return true; }