fix(allowlist): canonicalize Slack/Discord allowFrom

This commit is contained in:
Peter Steinberger
2026-02-15 03:46:11 +01:00
parent 3c3695d7c2
commit cf04208cb9
7 changed files with 153 additions and 25 deletions

View File

@@ -191,13 +191,16 @@ const DOCKS: Record<ChatChannelId, ChannelDock> = {
blockStreamingCoalesceDefaults: { minChars: 1500, idleMs: 1000 },
},
elevated: {
allowFromFallback: ({ cfg }) => cfg.channels?.discord?.dm?.allowFrom,
allowFromFallback: ({ cfg }) =>
cfg.channels?.discord?.allowFrom ?? cfg.channels?.discord?.dm?.allowFrom,
},
config: {
resolveAllowFrom: ({ cfg, accountId }) =>
(resolveDiscordAccount({ cfg, accountId }).config.dm?.allowFrom ?? []).map((entry) =>
resolveAllowFrom: ({ cfg, accountId }) => {
const account = resolveDiscordAccount({ cfg, accountId });
return (account.config.allowFrom ?? account.config.dm?.allowFrom ?? []).map((entry) =>
String(entry),
),
);
},
formatAllowFrom: ({ allowFrom }) => formatLower(allowFrom),
},
groups: {
@@ -355,8 +358,12 @@ const DOCKS: Record<ChatChannelId, ChannelDock> = {
blockStreamingCoalesceDefaults: { minChars: 1500, idleMs: 1000 },
},
config: {
resolveAllowFrom: ({ cfg, accountId }) =>
(resolveSlackAccount({ cfg, accountId }).dm?.allowFrom ?? []).map((entry) => String(entry)),
resolveAllowFrom: ({ cfg, accountId }) => {
const account = resolveSlackAccount({ cfg, accountId });
return (account.config.allowFrom ?? account.dm?.allowFrom ?? []).map((entry) =>
String(entry),
);
},
formatAllowFrom: ({ allowFrom }) => formatLower(allowFrom),
},
groups: {