openclaw/src/slack
Maho d21cf44452
fix(slack): remove message.channels/message.groups handlers that crash Bolt 4.6 (#32033)
* fix(slack): remove message.channels/message.groups handlers that crash Bolt 4.6

Bolt 4.6 rejects app.event() calls with event names starting with
"message." (e.g. "message.channels", "message.groups"), throwing
AppInitializationError on startup. These handlers were added in #31701
based on the incorrect assumption that Slack dispatches typed event
names to Bolt. In reality, Slack always delivers events with
type:"message" regardless of the Event Subscription name; the
channel_type field distinguishes the source.

The generic app.event("message") handler already receives all channel,
group, IM, and MPIM messages. The additional typed handlers were
unreachable even if Bolt allowed them, since no event payload ever
carries type:"message.channels".

This preserves the handleIncomingMessageEvent refactor from #31701
(extracting the handler into a named function) while removing only
the broken registrations.

Fixes the Slack provider crash loop affecting all accounts on
@slack/bolt >= 4.6.0.

Closes #31674 (original issue was not caused by missing handlers)

* fix: document Slack Bolt 4.6 startup handler fix (#32033) (thanks @mahopan)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-03-02 18:32:42 +00:00
..
http
monitor fix(slack): remove message.channels/message.groups handlers that crash Bolt 4.6 (#32033) 2026-03-02 18:32:42 +00:00
accounts.test.ts Doctor: keep allowFrom account-scoped in multi-account configs 2026-02-26 05:34:58 -05:00
accounts.ts fix(slack): use SLACK_USER_TOKEN when connecting to Slack (#28103) 2026-03-01 11:05:35 -06:00
actions.blocks.test.ts
actions.download-file.test.ts test(integration): dedupe messaging, secrets, and plugin test suites 2026-03-02 07:13:11 +00:00
actions.read.test.ts
actions.ts fix(slack): scope download-file to channel and thread context 2026-03-02 02:23:22 +00:00
blocks-fallback.test.ts
blocks-fallback.ts
blocks-input.test.ts test: dedupe repeated validation and throw assertions 2026-02-21 23:28:07 +00:00
blocks-input.ts
blocks.test-helpers.ts
channel-migration.test.ts refactor(channels): dedupe plugin routing and channel helpers 2026-02-22 14:08:51 +00:00
channel-migration.ts
client.test.ts
client.ts
directory-live.ts fix(slack): use SLACK_USER_TOKEN when connecting to Slack (#28103) 2026-03-01 11:05:35 -06:00
draft-stream.test.ts
draft-stream.ts
format.test.ts test: consolidate redundant suites and speed up timers 2026-02-23 04:44:42 +00:00
format.ts
index.ts
message-actions.test.ts feat(slack): add download-file action for on-demand file attachment access (#24723) 2026-03-01 11:45:05 -06:00
message-actions.ts feat(slack): add download-file action for on-demand file attachment access (#24723) 2026-03-01 11:45:05 -06:00
modal-metadata.test.ts fix(slack): gate interactive system events by sender auth 2026-02-26 02:11:50 +01:00
modal-metadata.ts fix(slack): gate interactive system events by sender auth 2026-02-26 02:11:50 +01:00
monitor.test-helpers.ts
monitor.test.ts
monitor.threading.missing-thread-ts.test.ts
monitor.tool-result.test.ts fix(slack): skip monitor startup for disabled accounts [AI-assisted] (openclaw#30592) thanks @liuxiaopai-ai 2026-03-01 10:19:50 -06:00
monitor.ts
probe.ts
resolve-channels.test.ts
resolve-channels.ts
resolve-users.ts
scopes.ts
send.blocks.test.ts fix(slack): suppress NO_REPLY before Slack API call 2026-02-26 13:40:58 +00:00
send.ts refactor(net): unify proxy env checks and guarded fetch modes 2026-03-02 16:24:26 +00:00
send.upload.test.ts refactor(net): unify proxy env checks and guarded fetch modes 2026-03-02 16:24:26 +00:00
sent-thread-cache.test.ts Cron+Slack: fix cooldown omission and cache cap enforcement 2026-03-01 20:39:24 +01:00
sent-thread-cache.ts Cron+Slack: fix cooldown omission and cache cap enforcement 2026-03-01 20:39:24 +01:00
stream-mode.test.ts fix(slack): map legacy streaming=false to off (openclaw#26020) thanks @chilu18 2026-03-01 10:21:25 -06:00
stream-mode.ts refactor(config): unify streaming config across channels 2026-02-21 19:53:42 +01:00
streaming.ts fix(slack): pass recipient_team_id to streaming API calls (#20988) 2026-02-19 14:44:34 -08:00
targets.test.ts test(targets): table-drive slack and discord parse cases 2026-02-21 23:28:07 +00:00
targets.ts
threading-tool-context.test.ts fix(slack): honor replyToModeByChatType when ThreadLabel exists (#26251) 2026-03-01 11:02:06 -06:00
threading-tool-context.ts fix(slack): honor replyToModeByChatType when ThreadLabel exists (#26251) 2026-03-01 11:02:06 -06:00
threading.test.ts fix(slack): enforce replyToMode for auto-thread_ts and inline reply tags (#23839) 2026-02-22 14:36:46 -05:00
threading.ts fix(slack): enforce replyToMode for auto-thread_ts and inline reply tags (#23839) 2026-02-22 14:36:46 -05:00
token.ts fix(slack): use SLACK_USER_TOKEN when connecting to Slack (#28103) 2026-03-01 11:05:35 -06:00
types.ts