From 1a17466a60796c643ebff36d14f8c6cdcb491b5a Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Fri, 13 Feb 2026 08:03:59 -0600 Subject: [PATCH] fix: use account-aware config paths in resolveDmPolicy and resolveAllowFrom --- extensions/matrix/src/channel.ts | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/extensions/matrix/src/channel.ts b/extensions/matrix/src/channel.ts index 26b794c9b..9dc020064 100644 --- a/extensions/matrix/src/channel.ts +++ b/extensions/matrix/src/channel.ts @@ -145,19 +145,26 @@ export const matrixPlugin: ChannelPlugin = { configured: account.configured, baseUrl: account.homeserver, }), - resolveAllowFrom: ({ cfg }) => - ((cfg as CoreConfig).channels?.matrix?.dm?.allowFrom ?? []).map((entry) => String(entry)), + resolveAllowFrom: ({ account }) => + (account.config.dm?.allowFrom ?? []).map((entry) => String(entry)), formatAllowFrom: ({ allowFrom }) => normalizeMatrixAllowList(allowFrom), }, security: { - resolveDmPolicy: ({ account }) => ({ - policy: account.config.dm?.policy ?? "pairing", - allowFrom: account.config.dm?.allowFrom ?? [], - policyPath: "channels.matrix.dm.policy", - allowFromPath: "channels.matrix.dm.allowFrom", - approveHint: formatPairingApproveHint("matrix"), - normalizeEntry: (raw) => normalizeMatrixUserId(raw), - }), + resolveDmPolicy: ({ account }) => { + const accountId = account.accountId; + const prefix = + accountId && accountId !== "default" + ? `channels.matrix.accounts.${accountId}.dm` + : "channels.matrix.dm"; + return { + policy: account.config.dm?.policy ?? "pairing", + allowFrom: account.config.dm?.allowFrom ?? [], + policyPath: `${prefix}.policy`, + allowFromPath: `${prefix}.allowFrom`, + approveHint: formatPairingApproveHint("matrix"), + normalizeEntry: (raw) => normalizeMatrixUserId(raw), + }; + }, collectWarnings: ({ account, cfg }) => { const defaultGroupPolicy = (cfg as CoreConfig).channels?.defaults?.groupPolicy; const groupPolicy = account.config.groupPolicy ?? defaultGroupPolicy ?? "allowlist";