diff --git a/extensions/signal/src/core.test.ts b/extensions/signal/src/core.test.ts index abb98286a4c..9cd2e73d692 100644 --- a/extensions/signal/src/core.test.ts +++ b/extensions/signal/src/core.test.ts @@ -178,6 +178,33 @@ describe("probeSignal", () => { expect(status.statusLines).toContain("signal-cli: missing (/tmp/work-signal-cli)"); }); + + it("uses configured defaultAccount for omitted setup configured state", async () => { + const status = await getSignalSetupStatus({ + cfg: { + channels: { + signal: { + defaultAccount: "work", + cliPath: "/tmp/root-signal-cli", + accounts: { + alerts: { + cliPath: "/tmp/alerts-signal-cli", + }, + work: { + cliPath: "", + account: "", + httpHost: "", + httpUrl: "", + }, + }, + }, + }, + } as OpenClawConfig, + accountOverrides: {}, + }); + + expect(status.configured).toBe(false); + }); }); describe("signal outbound", () => { diff --git a/extensions/signal/src/setup-surface.ts b/extensions/signal/src/setup-surface.ts index 2f5a7eaf40c..a9d11ff4ac0 100644 --- a/extensions/signal/src/setup-surface.ts +++ b/extensions/signal/src/setup-surface.ts @@ -28,12 +28,7 @@ export const signalSetupWizard: ChannelSetupWizard = { unconfiguredHint: "signal-cli missing", configuredScore: 1, unconfiguredScore: 0, - resolveConfigured: ({ cfg, accountId }) => - accountId - ? resolveSignalAccount({ cfg, accountId }).configured - : listSignalAccountIds(cfg).some( - (resolvedAccountId) => resolveSignalAccount({ cfg, accountId: resolvedAccountId }).configured, - ), + resolveConfigured: ({ cfg, accountId }) => resolveSignalAccount({ cfg, accountId }).configured, resolveBinaryPath: ({ cfg, accountId }) => resolveSignalAccount({ cfg, accountId }).config.cliPath ?? "signal-cli", detectBinary,