Long DM threads between user and a Slack bot using the chat_stream API results in a jumpy chaotic UX
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:
- 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 - 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.
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?
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.
Hi @mwbrooks ,
Were you able to repro? If not, let me know and I can put a video together.
Thanks! Steve