diff --git a/extensions/googlechat/src/setup-surface.ts b/extensions/googlechat/src/setup-surface.ts index 6375844ca07..44eb2b5ee0e 100644 --- a/extensions/googlechat/src/setup-surface.ts +++ b/extensions/googlechat/src/setup-surface.ts @@ -104,13 +104,7 @@ export const googlechatSetupWizard: ChannelSetupWizard = { unconfiguredHint: "needs auth", includeStatusLine: true, resolveConfigured: ({ cfg, accountId }) => - accountId - ? resolveGoogleChatAccount({ cfg, accountId }).credentialSource !== "none" - : listGoogleChatAccountIds(cfg).some( - (resolvedAccountId) => - resolveGoogleChatAccount({ cfg, accountId: resolvedAccountId }).credentialSource !== - "none", - ), + resolveGoogleChatAccount({ cfg, accountId }).credentialSource !== "none", }), introNote: { title: "Google Chat setup", diff --git a/extensions/googlechat/src/setup.test.ts b/extensions/googlechat/src/setup.test.ts index 6c7c6cdbc85..189fa30bc17 100644 --- a/extensions/googlechat/src/setup.test.ts +++ b/extensions/googlechat/src/setup.test.ts @@ -211,6 +211,28 @@ describe("googlechat setup", () => { expect(status.configured).toBe(false); }); + it("reports configured state for the configured defaultAccount instead of any account", async () => { + const status = await googlechatStatus({ + cfg: { + channels: { + googlechat: { + defaultAccount: "alerts", + accounts: { + default: { + serviceAccount: { client_email: "default@example.com" }, + }, + alerts: {}, + }, + }, + }, + } as OpenClawConfig, + accountOverrides: {}, + options: {}, + }); + + expect(status.configured).toBe(false); + }); + it("reports account-scoped config keys for named accounts", () => { expect(googlechatPlugin.setupWizard?.dmPolicy?.resolveConfigKeys?.({}, "alerts")).toEqual({ policyKey: "channels.googlechat.accounts.alerts.dm.policy",