fix(slack): apply open policy consistently to slash commands

Address reviewer feedback: slash commands now use the same
hasExplicitConfig check as regular messages, so unlisted
channels are allowed under groupPolicy: "open" for both
message handling and slash commands.
This commit is contained in:
Jay Winder
2026-01-24 15:03:35 +09:00
committed by Peter Steinberger
parent 72d62a54c6
commit 4d2e9e8113

View File

@@ -262,8 +262,7 @@ export function registerSlackMonitorSlashCommands(params: {
groupPolicy: ctx.groupPolicy,
channelAllowlistConfigured,
channelAllowed,
}) ||
!channelAllowed
})
) {
await respond({
text: "This channel is not allowed.",
@@ -271,13 +270,17 @@ export function registerSlackMonitorSlashCommands(params: {
});
return;
}
}
if (ctx.useAccessGroups && channelConfig?.allowed === false) {
await respond({
text: "This channel is not allowed.",
response_type: "ephemeral",
});
return;
// When groupPolicy is "open", only block channels that are EXPLICITLY denied
// (i.e., have a matching config entry with allow:false). Channels not in the
// config (matchSource undefined) should be allowed under open policy.
const hasExplicitConfig = Boolean(channelConfig?.matchSource);
if (!channelAllowed && (ctx.groupPolicy !== "open" || hasExplicitConfig)) {
await respond({
text: "This channel is not allowed.",
response_type: "ephemeral",
});
return;
}
}
}