The pinned `Working · Latest Output` border above the editor mirrors the assistant's latest text block while tools run, so prose stays visible after a tool's output scrolls it off-screen. The mirror walked content blocks from the end and picked the last text block — but when the assistant streams a *new* text block after a tool call (sequence `[text1, tool1, text2_streaming]`), it picked `text2`, which was also being streamed live into the chat container. Result: identical tokens rendered in two places at once. Restrict the search to text blocks whose index is strictly less than the index of the most recent tool call. Text after the last tool call stays in the chat container only; earlier prose (e.g. `text1`) remains mirrored the entire time the new text streams, so context isn't lost and the loading-animation handoff is undisturbed. Fixes #4120 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| daemon | ||
| mcp-server | ||
| native | ||
| pi-agent-core | ||
| pi-ai | ||
| pi-coding-agent | ||
| pi-tui | ||
| rpc-client | ||