mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-06 06:41:08 +00:00
fix: honor imessage default runtime account
This commit is contained in:
29
extensions/imessage/src/accounts.test.ts
Normal file
29
extensions/imessage/src/accounts.test.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { resolveIMessageAccount } from "./accounts.js";
|
||||
|
||||
describe("resolveIMessageAccount", () => {
|
||||
it("uses configured defaultAccount when accountId is omitted", () => {
|
||||
const resolved = resolveIMessageAccount({
|
||||
cfg: {
|
||||
channels: {
|
||||
imessage: {
|
||||
defaultAccount: "work",
|
||||
accounts: {
|
||||
work: {
|
||||
name: "Work",
|
||||
cliPath: "/usr/local/bin/imsg-work",
|
||||
dmPolicy: "open",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
} as never,
|
||||
});
|
||||
|
||||
expect(resolved.accountId).toBe("work");
|
||||
expect(resolved.name).toBe("Work");
|
||||
expect(resolved.config.cliPath).toBe("/usr/local/bin/imsg-work");
|
||||
expect(resolved.config.dmPolicy).toBe("open");
|
||||
expect(resolved.configured).toBe(true);
|
||||
});
|
||||
});
|
||||
@@ -32,7 +32,9 @@ export function resolveIMessageAccount(params: {
|
||||
cfg: OpenClawConfig;
|
||||
accountId?: string | null;
|
||||
}): ResolvedIMessageAccount {
|
||||
const accountId = normalizeAccountId(params.accountId);
|
||||
const accountId = normalizeAccountId(
|
||||
params.accountId ?? resolveDefaultIMessageAccountId(params.cfg),
|
||||
);
|
||||
const baseEnabled = params.cfg.channels?.imessage?.enabled !== false;
|
||||
const merged = mergeIMessageAccountConfig(params.cfg, accountId);
|
||||
const accountEnabled = merged.enabled !== false;
|
||||
|
||||
Reference in New Issue
Block a user