fix(chat): separate response and thinking messages#878
Conversation
…ol calls - Detect server-side tool execution via historical messages (hasCompletedToolPhase) when Gateway doesn't send streaming tool events to the client - Prevent execution graph from auto-collapsing while reply is still streaming by keeping expanded=true and excluding from autoCollapsedRunKeys - Omit streaming thinking segments from execution graph when reply renders as a separate bubble to avoid duplication Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 614802aa03
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| const shouldCollapse = !isStillStreaming | ||
| && (card.replyIndex != null && replyTextOverrides.has(card.replyIndex)); |
There was a problem hiding this comment.
Restore post-stream auto-collapse for completed runs
shouldCollapse now excludes runs that just finished streaming unless a replyTextOverrides entry exists. During streaming we force expanded=true, so ExecutionGraphCard stays in controlled mode and its internal uncontrolledExpanded never syncs to active=false; when streaming ends and control is removed, cards without a reply override remain expanded permanently. This is visible on tool runs whose final reply text doesn't need stripping, and it contradicts the intended “collapse after completion” behavior.
Useful? React with 👍 / 👎.
… dedupe (ValueCell-ai#821 ValueCell-ai#845 ValueCell-ai#870 ValueCell-ai#873 ValueCell-ai#875 ValueCell-ai#878 ValueCell-ai#880 ValueCell-ai#885 ValueCell-ai#886 ValueCell-ai#887 ValueCell-ai#891 ValueCell-ai#903) Overhaul execution graph card (collapse/expand, narration steps, web_fetch links), separate thinking messages, render LaTeX math, dedupe optimistic messages, hide recoverable gateway timeouts, add startup history recovery.
Summary
separate response and thinking messages
Type of Change
Validation
Checklist