[Bug]: A response that pauses and resumes is folded as several separate responses
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
When a response finishes, its intermediate steps collapse behind a "Worked for …" row. But a response that paused midway is treated as several separate responses.
Area: apps/web
Steps to reproduce
- Send a prompt that the agent answers with a pause in the middle. The easiest way: a task where it hands work to a subagent, waits, then continues writing after the subagent finishes.
- Wait for the response to finish.
Expected behavior
The whole answer collapses behind one "Worked for …" row, and only the last message stays visible.
Actual behavior
Each pause starts a new group. The answer ends up with several "Worked for …" rows, and the messages written before each pause stay on screen as if each were a separate finished answer.
Cause (from reading the code)
Each time output resumes after a pause, the messages carry a new turn id (the internal id that marks which turn a message belongs to). The folding code in apps/web/src/components/chat/MessagesTimeline.logic.ts groups by turn id, so one answer with two pauses becomes three groups.
Impact: Minor bug or occasional failure — it happens on more or less every answer that uses subagents.
Version or commit: v0.0.34-nightly.20260823.1164; the grouping code is unchanged on main @ 31c1c5996.
Workaround
We patched our own deployment to group by "everything between two user messages" instead of by turn id. Happy to share the diff.
(Not the same as #8879 / #8075 — those are about which message stays visible inside one group; this is about one answer being split into several groups.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/web/src/components/chat/MessagesTimeline.logic.ts, where completed-response messages are grouped by turn id. Reproduce a response that pauses for a subagent, then trace the message sequence across the pause. Done means one answer produces one “Worked for …” group with only its last message visible, while separate user messages remain separate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100