-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Name-keyed entries in channels.slack.channels silently dropped under groupPolicy: "allowlist" #81665
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.staleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.staleMarked as stale due to inactivityMarked as stale due to inactivity
Type
Fields
Priority
None yet
Observed behavior
When
channels.slack.groupPolicyis"allowlist", an entry keyed by a Slack channel name rather than its ID is silently ignored at routing time. Example openclaw.json:The bot accepts the config without error, connects, processes events normally for ID-keyed entries — but never matches the name-keyed entry. Messages in
#example-channelsimply don't reach the bot. There is no error log, no warning, no validation failure at boot.Why it's a bug (not just a docs miss)
The docs at https://docs.openclaw.ai/channels/slack state that the keys under
channels.slack.channelsare Slack channel IDs. So name-keying is unsupported. But:^[CGD][A-Z0-9]{8,}$.That combination — accepted-config + silent-runtime + no-signal — is the canonical silent-failure shape. It's the most common configuration mistake for any operator wiring Slack by hand against the docs.
Reproduction
groupPolicy: "allowlist"on a working Slack bot."channels": { "<channel-name>": { "requireMention": false } }.#<channel-name>. No event reaches the bot. No log line is emitted.Suggested fix
At minimum, a
console.warnat gateway boot for any key inchannels.slack.channelsthat fails the Slack channel ID heuristic:Optional escalation: refuse to start under a strict mode flag, or surface as a structured event consumers can subscribe to.
The detection rule is trivial (regex test against the key); the warning closes the silent-failure loop without changing any semantics for correctly-configured installs.