Repository navigation
Conversation
…orked for Thinking traces now render inline as their own rows. Consecutive tool calls share one row that names the running call, and finished turns fold under "Worked for …". Applies to web, desktop, and mobile. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — Reasoning now appears inline by default, with consecutive tool calls grouped into expandable rows. A human must confirm this change to the default activity-log experience for existing web and mobile users. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Shared visibility and tool labels packages/shared/src/String.ts, packages/client-runtime/src/state/threadDetail.ts, packages/client-runtime/src/work-log/presentation.ts, related tests |
A shared helper detects non-whitespace text. Thread-detail streaming comparisons track whether assistant text is visible. Work-log presentation adds active tool labels for supported tool types. |
Feed rows and active-work state apps/mobile/src/lib/threadActivity.ts, apps/web/src/components/chat/MessagesTimeline.logic.ts, related tests |
Mobile and web feed derivation present reasoning separately and group tool work. Thinking rows are suppressed when a qualifying streaming reply or active activity is present. Tests cover feed visibility, grouping, and lifecycle cases. |
Work-group rendering and interactions apps/mobile/src/features/threads/*, apps/web/src/components/chat/*, apps/web/src/index.css, docs/user/activity-log.md |
Work-log components render grouped tool entries, reasoning, and Thinking rows without the former live-work row and shimmer presentation. Group expansion, row sizing, Markdown math, and activity-log instructions are updated. |
Estimated code review effort: 4 (Complex) | ~60 minutes
Change: Feature
Sequence Diagram(s)
sequenceDiagram
participant ActivityFeed
participant MessagesTimelineLogic
participant MessagesTimeline
participant WorkGroupToggleTimelineRow
ActivityFeed->>MessagesTimelineLogic: activity entries and streaming state
MessagesTimelineLogic->>MessagesTimeline: derived work, work-toggle, and thinking rows
MessagesTimeline->>WorkGroupToggleTimelineRow: grouped entries and active-entry state
Suggested reviewers: juliusmarminge, yash-singh1
Merge Risk: 
Minimal · up to 44acd
-
This change moves thinking traces inline, groups consecutive tool calls into one row, and folds finished turns under "Worked for". No concrete merge-blocking defect was found in the supplied context. Normal checks, including typecheck and the focused tests described in the PR, remain the appropriate gate.
Pre-merge checks: 
4
-
Full details: Description check
-
Explanation
The description is detailed and covers the problem, implementation changes, known limits, verification results, screenshots, and recordings. It does not provide a triaged issue or explicit maintainer approval under Scope and approval, but the remaining required information is substantially complete.
-
Finishing Touches
-
Generate docstrings
-
- Commit to this branch
- Create a new PR
Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
While an agent works, its thinking was buried in a one-line preview under a live row that kept changing. Tool calls were stacked in layers that were hard to read, and the fold was confusing. This PR makes the work log simple, close to how Codex shows it.
Read labels show the file name only. The full path shows when you open the row.
Before / after
📹 before · 📹 after
Known limits
streamingafter a steering restart, or a local/feedbackrow sent while a thought streams, can hide or add one "Thinking" row. Both are rare, and nothing wrong is shown.Proof:
vp run check:changedpasses. Focused tests cover each grouping and "Thinking" rule, and each fix test fails without its fix. I recorded the freeReplay (dev)showcase on web, onmainand on this branch.Council review
Rounds: 15
Created with Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code