From 205c477082cd0455864adb332f0610c3fb450165 Mon Sep 17 00:00:00 2001 From: trevor-signal <131492920+trevor-signal@users.noreply.github.com> Date: Wed, 12 Feb 2025 11:35:05 -0500 Subject: [PATCH] Enable link & sync in production --- ts/state/ducks/installer.ts | 5 +---- ts/textsecure/AccountManager.ts | 2 +- ts/textsecure/Provisioner.ts | 9 +++------ ts/util/isLinkAndSyncEnabled.ts | 5 ++--- 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/ts/state/ducks/installer.ts b/ts/state/ducks/installer.ts index 038f9444af..8b933af026 100644 --- a/ts/state/ducks/installer.ts +++ b/ts/state/ducks/installer.ts @@ -195,10 +195,7 @@ function startInstaller(): ThunkAction< strictAssert(server, 'Expected a server'); if (!provisioner) { - provisioner = new Provisioner({ - server, - appVersion: window.getVersion(), - }); + provisioner = new Provisioner({ server }); } const cancel = provisioner.subscribe(event => { diff --git a/ts/textsecure/AccountManager.ts b/ts/textsecure/AccountManager.ts index 66f7589aa5..da41a80721 100644 --- a/ts/textsecure/AccountManager.ts +++ b/ts/textsecure/AccountManager.ts @@ -1116,7 +1116,7 @@ export default class AccountManager extends EventTarget { const shouldDownloadBackup = isBackupEnabled() || - (isLinkAndSyncEnabled(window.getVersion()) && options.ephemeralBackupKey); + (isLinkAndSyncEnabled() && options.ephemeralBackupKey); // Set backup download path before storing credentials to ensure that // storage service and message receiver are not operating diff --git a/ts/textsecure/Provisioner.ts b/ts/textsecure/Provisioner.ts index f8d273ba59..b72f1a0d03 100644 --- a/ts/textsecure/Provisioner.ts +++ b/ts/textsecure/Provisioner.ts @@ -50,7 +50,6 @@ export enum EventKind { export type ProvisionerOptionsType = Readonly<{ server: WebAPIType; - appVersion: string; }>; export type EnvelopeType = ProvisionDecryptResult; @@ -113,7 +112,6 @@ const QR_CODE_TIMEOUTS = [10 * SECOND, 20 * SECOND, 30 * SECOND, 60 * SECOND]; export class Provisioner { readonly #subscribers = new Set(); readonly #server: WebAPIType; - readonly #appVersion: string; readonly #retryBackOff = new BackOff(FIBONACCI_TIMEOUTS); #sockets: Array = []; @@ -121,9 +119,8 @@ export class Provisioner { #attemptCount = 0; #isRunning = false; - constructor({ server, appVersion }: ProvisionerOptionsType) { + constructor({ server }: ProvisionerOptionsType) { this.#server = server; - this.#appVersion = appVersion; } public subscribe(notify: SubscribeNotifierType): UnsubscribeFunctionType { @@ -373,7 +370,7 @@ export class Provisioner { kind: EventKind.Envelope, envelope, isLinkAndSync: - isLinkAndSyncEnabled(this.#appVersion) && + isLinkAndSyncEnabled() && Bytes.isNotEmpty(envelope.ephemeralBackupKey), }); request.respond(200, 'OK'); @@ -422,7 +419,7 @@ export class Provisioner { .toAppUrl({ uuid, pubKey: Bytes.toBase64(cipher.getPublicKey()), - capabilities: isLinkAndSyncEnabled(this.#appVersion) ? ['backup3'] : [], + capabilities: isLinkAndSyncEnabled() ? ['backup3'] : [], }) .toString(); diff --git a/ts/util/isLinkAndSyncEnabled.ts b/ts/util/isLinkAndSyncEnabled.ts index 21d6841842..fe0beeef6c 100644 --- a/ts/util/isLinkAndSyncEnabled.ts +++ b/ts/util/isLinkAndSyncEnabled.ts @@ -1,14 +1,13 @@ // Copyright 2024 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -import { isProduction } from './version'; import { everDone as wasRegistrationEverDone } from './registration'; -export function isLinkAndSyncEnabled(version: string): boolean { +export function isLinkAndSyncEnabled(): boolean { // Cannot overwrite existing message history if (wasRegistrationEverDone()) { return false; } - return !isProduction(version); + return true; }