From 1e822478b0de64aeadda4ef568640dea67d85bb7 Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Tue, 18 Aug 2026 12:49:21 -0700 Subject: [PATCH] Follow-up fixes for e164-less linking --- app/main.main.ts | 4 ++-- ts/textsecure/WebAPI.preload.ts | 4 ++-- ts/util/checkOurPniIdentityKey.preload.ts | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/main.main.ts b/app/main.main.ts index 4cfe47e7b6..e82204be55 100644 --- a/app/main.main.ts +++ b/app/main.main.ts @@ -1367,9 +1367,9 @@ async function showAbout() { async function getIsLinked() { try { - const number = await sql.sqlRead('getItemById', 'number_id'); + const aci = await sql.sqlRead('getItemById', 'uuid_id'); const password = await sql.sqlRead('getItemById', 'password'); - return Boolean(number && password); + return Boolean(aci && password); } catch (e) { return false; } diff --git a/ts/textsecure/WebAPI.preload.ts b/ts/textsecure/WebAPI.preload.ts index 1c5796cdaf..25d6f9a216 100644 --- a/ts/textsecure/WebAPI.preload.ts +++ b/ts/textsecure/WebAPI.preload.ts @@ -1015,8 +1015,8 @@ export type GetSenderCertificateResultType = Readonly<{ certificate: string }>; const whoamiResultZod = z.object({ uuid: z.string(), - pni: untaggedPniSchema, - number: z.string(), + pni: untaggedPniSchema.nullish(), + number: z.string().nullish(), usernameHash: z.string().nullish(), usernameLinkHandle: z.string().nullish(), }); diff --git a/ts/util/checkOurPniIdentityKey.preload.ts b/ts/util/checkOurPniIdentityKey.preload.ts index 1343f60d67..dec88fd04a 100644 --- a/ts/util/checkOurPniIdentityKey.preload.ts +++ b/ts/util/checkOurPniIdentityKey.preload.ts @@ -17,6 +17,12 @@ export async function checkOurPniIdentityKey(): Promise { } const { pni: remotePni } = await whoami(); + if (remotePni == null) { + log.warn(`remote pni absent, local is ${ourPni}`); + window.Whisper.events.emit('unlinkAndDisconnect'); + return; + } + if (toTaggedPni(remotePni) !== ourPni) { log.warn(`remote pni mismatch, ${remotePni} != ${ourPni}`); window.Whisper.events.emit('unlinkAndDisconnect');