From 441bd6d8dbe55edf0b3b0aac4068d80a5d4cc2f9 Mon Sep 17 00:00:00 2001 From: iaji <27793551+iaji@users.noreply.github.com> Date: Mon, 22 Jun 2026 08:33:53 -0400 Subject: [PATCH] fix(slack): split csv mention pattern fallback --- plugins/platforms/slack/adapter.py | 4 +--- tests/gateway/test_slack_mention.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/platforms/slack/adapter.py b/plugins/platforms/slack/adapter.py index 8b7e66841fc..3f08b1f1f07 100644 --- a/plugins/platforms/slack/adapter.py +++ b/plugins/platforms/slack/adapter.py @@ -3838,9 +3838,7 @@ class SlackAdapter(BasePlatformAdapter): import json as _json patterns = _json.loads(raw) except Exception: - patterns = [p.strip() for p in raw.splitlines() if p.strip()] or [ - p.strip() for p in raw.split(",") if p.strip() - ] + patterns = [p.strip() for p in raw.replace("\n", ",").split(",") if p.strip()] if isinstance(patterns, str): patterns = [patterns] diff --git a/tests/gateway/test_slack_mention.py b/tests/gateway/test_slack_mention.py index 32b38ad7336..62210a69b7a 100644 --- a/tests/gateway/test_slack_mention.py +++ b/tests/gateway/test_slack_mention.py @@ -735,6 +735,16 @@ def test_mention_patterns_env_var_fallback(monkeypatch): assert adapter._slack_message_matches_mention_patterns("hey hermes") is True +def test_mention_patterns_env_var_csv_fallback_splits_patterns(monkeypatch): + monkeypatch.setenv("SLACK_MENTION_PATTERNS", "hey hermes,hermes,") + adapter = _make_adapter() # no config value -> falls back to env + + patterns = adapter._slack_mention_patterns() + + assert [pattern.pattern for pattern in patterns] == ["hey hermes", "hermes"] + assert adapter._slack_message_matches_mention_patterns("hey hermes") is True + + def test_mention_patterns_trigger_in_channel_without_literal_mention(): """A wake word triggers the bot in a channel even with require_mention on.""" adapter = _make_adapter(require_mention=True, mention_patterns=["hey hermes"])