bolt-python icon indicating copy to clipboard operation
bolt-python copied to clipboard

Long DM threads between user and a Slack bot using the chat_stream API results in a jumpy chaotic UX

Open scosenza opened this issue 2 months ago • 2 comments

Reproducible in:

slack-bolt==1.27.0 slack-sdk==3.38.0 Python 3.12.x

Steps to reproduce:

I'm currently using the new Slack chat_stream API to create an internal Slack bot for Airbnb employees. The Slack bot is streaming back messages from AI agents including Claude Code

To repro this issue:

  1. Have long DM threads between user and a Slack bot sending back lots of streaming responses. In our case, we're using Claude Agent SDK using includePartialMessages=true
  2. Click latest message in Activity, which is a message on the bottom of a long thread. As soon as I try to scroll up, the UX jumps often times to the first message. Trying to scroll back to the bottom results in lots of jumping around, and the appearance of the text being streamed again, instead of showing the now fully rendered messages.

If you're unable to easily repro this, I'll need to create a generic long thread so I can capture a video without sharing internal details.

Expected result:

UX after messages are stream rendered should behave the same as if they were rendered all at once.

scosenza avatar Dec 04 '25 03:12 scosenza

Hey @scosenza 👋🏻

Thanks for sharing the issue with chat_stream! By the sounds of it, this is a Slack client (UI) issue. If I can reproduce it, then I'll share it with the team behind the scenes, because I know they'd want to fix it asap.

More Info:

I'll try to create a demo to reproduce the issue, but I could use a little more info.

❓ When you say "Long DM Threads" do you mean a thread with many replies? Or a thread with 1 reply that is very long in character count?

mwbrooks avatar Dec 04 '25 19:12 mwbrooks

Thanks for taking a look! Currently my DM threads with the bot both have lots of replies and also long messages. For background, these DM threads with are bot are being sent to Claude's Agent SDK, so the Slack threads approximate what you'd see in the Claude Code terminal with the user sending one messages to the bot, and then our bot responding with maybe 10 or 15 streaming messages with the final message often being quite long with code blocks, etc.

scosenza avatar Dec 06 '25 00:12 scosenza

Hi @mwbrooks ,

Were you able to repro? If not, let me know and I can put a video together.

Thanks! Steve

scosenza avatar Dec 12 '25 21:12 scosenza