From 4b9e9fa2ccd7cb7fe716daa507725e3ca01848b7 Mon Sep 17 00:00:00 2001 From: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com> Date: Wed, 12 Aug 2026 13:58:12 +1000 Subject: [PATCH] docs(signal): clarify link completion boundary --- extensions/signal/src/signal-cli-link.test.ts | 2 +- extensions/signal/src/signal-cli-link.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/signal/src/signal-cli-link.test.ts b/extensions/signal/src/signal-cli-link.test.ts index a938e30365e1..7065d99ddbe0 100644 --- a/extensions/signal/src/signal-cli-link.test.ts +++ b/extensions/signal/src/signal-cli-link.test.ts @@ -239,7 +239,7 @@ describe("linkSignalCliAccount", () => { }); }); - it("preserves a successful link when QR presentation cancels the settling process", async () => { + it("trusts the terminal account marker when presentation cancels process exit", async () => { const command = createDeferredCommand(); let rejectPresentation!: (error: Error) => void; const presentation = new Promise((_resolve, reject) => { diff --git a/extensions/signal/src/signal-cli-link.ts b/extensions/signal/src/signal-cli-link.ts index 7ae6c08ab8c1..079e34fc8750 100644 --- a/extensions/signal/src/signal-cli-link.ts +++ b/extensions/signal/src/signal-cli-link.ts @@ -160,8 +160,8 @@ export async function linkSignalCliAccount(params: { await displayPromise; if (associatedAccount) { - // signal-cli prints the account only after finishDeviceLink succeeds. A late client - // cancellation must not turn that durable success into a second linking attempt. + // signal-cli emits this marker only after finishDeviceLink returns. The linked account is + // therefore durable even when a late presentation failure terminates the settling process. return { ok: true, associatedAccount }; } if (result.code === 0 && result.termination === "exit") {