Skip to content

[Bug]: Slack queue drain drops string thread_ts — queued replies leak to main channel instead of thread #11195

@Lukavyi

Description

@Lukavyi

lobster-biscuit

Summary

Slack thread replies leak to main channel when messages are queued during agent processing.

Repro Steps

  1. Configure Slack with replyToMode: all
  2. Send 2+ messages quickly while agent is busy
  3. Messages enter followup queue, get collected/drained
  4. Response appears in main channel instead of thread

Expected

Queued responses preserve thread_ts and reply in the correct thread.

Actual

typeof threadId === "number" in drain.ts drops Slack string thread_ts. Thread key becomes empty, collected reply goes to channel.

Environment

  • OpenClaw version: 2026.2.6
  • OS: macOS 15 (Apple Silicon)
  • Install method: pnpm (source)
  • Channel: Slack

Logs/Evidence

// drain.ts — broken check (only accepts Telegram numeric IDs)
const threadKey = typeof threadId === "number" ? String(threadId) : "";
// Slack thread_ts is string like "1770474140.187459" → fails → threadKey = ""

Impact

All Slack users with queue mode enabled lose thread context on queued replies. Moderate severity — messages work but land in wrong place.

Workarounds

None known.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions