fix(slack): respect top-level requireMention config
The `channels.slack.requireMention` setting was defined in the schema but never passed to `resolveSlackChannelConfig()`, which always defaulted to `true`. This meant setting `requireMention: false` at the top level had no effect—channels still required mentions. Pass `slackCfg.requireMention` as `defaultRequireMention` to the resolver and use it as the fallback instead of hardcoded `true`. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
Peter Steinberger
parent
6ffd7111a6
commit
09ce6ff99e
32
src/slack/monitor/channel-config.test.ts
Normal file
32
src/slack/monitor/channel-config.test.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { resolveSlackChannelConfig } from "./channel-config.js";
|
||||
|
||||
describe("resolveSlackChannelConfig", () => {
|
||||
it("uses defaultRequireMention when channels config is empty", () => {
|
||||
const res = resolveSlackChannelConfig({
|
||||
channelId: "C1",
|
||||
channels: {},
|
||||
defaultRequireMention: false,
|
||||
});
|
||||
expect(res).toEqual({ allowed: true, requireMention: false });
|
||||
});
|
||||
|
||||
it("defaults defaultRequireMention to true when not provided", () => {
|
||||
const res = resolveSlackChannelConfig({
|
||||
channelId: "C1",
|
||||
channels: {},
|
||||
});
|
||||
expect(res).toEqual({ allowed: true, requireMention: true });
|
||||
});
|
||||
|
||||
it("prefers explicit channel/fallback requireMention over defaultRequireMention", () => {
|
||||
const res = resolveSlackChannelConfig({
|
||||
channelId: "C1",
|
||||
channels: { "*": { requireMention: true } },
|
||||
defaultRequireMention: false,
|
||||
});
|
||||
expect(res).toMatchObject({ requireMention: true });
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user