Discord: dedupe listener registration on reload

Closes #744
This commit is contained in:
Shadow
2026-01-12 21:41:47 -06:00
parent cddd836909
commit 9f1f65f0e3
3 changed files with 33 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ import {
isDiscordGroupAllowedByPolicy,
normalizeDiscordAllowList,
normalizeDiscordSlug,
registerDiscordListener,
resolveDiscordChannelConfig,
resolveDiscordGuildEntry,
resolveDiscordReplyTarget,
@@ -34,6 +35,18 @@ const makeEntries = (
return out;
};
describe("registerDiscordListener", () => {
class FakeListener {}
it("dedupes listeners by constructor", () => {
const listeners: object[] = [];
expect(registerDiscordListener(listeners, new FakeListener())).toBe(true);
expect(registerDiscordListener(listeners, new FakeListener())).toBe(false);
expect(listeners).toHaveLength(1);
});
});
describe("discord allowlist helpers", () => {
it("normalizes slugs", () => {
expect(normalizeDiscordSlug("Friends of Clawd")).toBe("friends-of-clawd");