diff --git a/extensions/imessage/src/setup-surface.ts b/extensions/imessage/src/setup-surface.ts index 2f0d4d59bd5..8e128850328 100644 --- a/extensions/imessage/src/setup-surface.ts +++ b/extensions/imessage/src/setup-surface.ts @@ -29,7 +29,7 @@ export const imessageSetupWizard: ChannelSetupWizard = { unconfiguredScore: imessageSetupStatusBase.unconfiguredScore, resolveConfigured: imessageSetupStatusBase.resolveConfigured, resolveBinaryPath: ({ cfg, accountId }) => - resolveIMessageAccount({ cfg, accountId: accountId ?? "default" }).config.cliPath ?? "imsg", + resolveIMessageAccount({ cfg, accountId }).config.cliPath ?? "imsg", detectBinary, }), credentials: [], diff --git a/extensions/imessage/src/targets.test.ts b/extensions/imessage/src/targets.test.ts index fd46786e15e..a1968484f29 100644 --- a/extensions/imessage/src/targets.test.ts +++ b/extensions/imessage/src/targets.test.ts @@ -292,6 +292,27 @@ describe("imessage setup status", () => { expect(result.configured).toBe(false); expect(result.statusLines).toContain("iMessage: needs setup"); }); + + it("uses configured defaultAccount for omitted setup status cliPath", async () => { + const status = await getIMessageSetupStatus({ + cfg: { + channels: { + imessage: { + cliPath: "/tmp/root-imsg", + defaultAccount: "work", + accounts: { + work: { + cliPath: "/tmp/work-imsg", + }, + }, + }, + }, + } as never, + accountOverrides: {}, + }); + + expect(status.statusLines).toContain("imsg: missing (/tmp/work-imsg)"); + }); }); describe("probeIMessage", () => {