diff --git a/extensions/slack/src/setup-core.ts b/extensions/slack/src/setup-core.ts index b49043fb338..74a6ff93ff1 100644 --- a/extensions/slack/src/setup-core.ts +++ b/extensions/slack/src/setup-core.ts @@ -167,10 +167,7 @@ export function createSlackSetupWizardBase(handlers: { configuredScore: 2, unconfiguredScore: 1, resolveConfigured: ({ cfg, accountId }) => - (accountId ? [accountId] : listSlackAccountIds(cfg)).some((resolvedAccountId) => { - const account = inspectSlackAccount({ cfg, accountId: resolvedAccountId }); - return account.configured; - }), + inspectSlackAccount({ cfg, accountId }).configured, }), introNote: { title: "Slack socket mode tokens", diff --git a/extensions/slack/src/setup-surface.test.ts b/extensions/slack/src/setup-surface.test.ts index 8a279b8eef2..228d44ce895 100644 --- a/extensions/slack/src/setup-surface.test.ts +++ b/extensions/slack/src/setup-surface.test.ts @@ -118,3 +118,31 @@ describe("slackSetupWizard.dmPolicy", () => { expect(next?.channels?.slack?.accounts?.alerts?.allowFrom).toEqual(["U123", "*"]); }); }); + +describe("slackSetupWizard.status", () => { + it("uses configured defaultAccount for omitted setup configured state", async () => { + const configured = await slackSetupWizard.status.resolveConfigured({ + cfg: { + channels: { + slack: { + defaultAccount: "work", + botToken: "xoxb-root", + appToken: "xapp-root", + accounts: { + alerts: { + botToken: "xoxb-alerts", + appToken: "xapp-alerts", + }, + work: { + botToken: "", + appToken: "", + }, + }, + }, + }, + } as OpenClawConfig, + }); + + expect(configured).toBe(false); + }); +});