Conversation
Some models send a bare "." between tool calls. omp shows each one as a text part, so the transcript got a "." row before every call, and a delegated run's trail titled each call's group ".". An assistant message with no letters, digits or symbols is now dropped when it is sealed, completed, or the turn stops. Subagent snapshots skip such parts, and a group whose headline is only punctuation falls back to the summary of its calls.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (6)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughAssistant text containing only whitespace or punctuation is omitted from activity titles, streaming blocks, and subagent steps. Text containing words, numbers, or emoji remains eligible. ChangesAssistant text filtering
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~12 minutes Change: Bug fix · Severity of issue fixed: Low Suggested reviewers: Merge Risk: ⚪ Minimal · up to This change filters punctuation-only assistant text from transcript titles, completed streaming blocks, and assistant-text subagent steps while preserving readable replies and tool calls. No supported material regression remains, so it is ready for normal merge checks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What changed
Before: some models send a bare
.as a text part between tool calls, and omp passes each one through. The transcript showed a.row before every call. A delegated run's trail used each.as the headline of the group holding the next call, so calls read as<icon> ..After: assistant text with no letters, digits or symbols never becomes a row or a headline. Real text, numbers and emoji-only replies are unchanged.
How:
hasReadableTextintranscriptActivity.tssays whether text has anything besides whitespace and punctuation.apply.tsdrops a streaming assistant block without readable text when it is sealed by the next block, completed, or stopped with the turn. It is never kept, so it can't reach the transcript, the fold, or a saved session.piSubagentEventsskips text parts without readable text, so a delegated run's trail no longer gets.steps.activityPhaseTitlefalls back to the summary of the group's calls when the headline is only punctuation. This covers sessions saved before this change.OK.,42and👍, the subagent trail, and the group title.Why
Fixes #337.
This follows @elijah7x's diagnosis on the issue, which traced the
.from omp's text parts intobuildActivityPhasesand suggested guarding all three paths.UI
Before, one omp turn whose model sends
.before each tool call, the work expanded:After, the same turn:
The screenshots use real omp 18.6.1 in a demo project, with a local mock model that sends
.before each tool call and delegates to a subagent. omp ran that subagent as a background job, so its trail isn't expanded in the app. The subagent path is covered by the newpiSubagentstest, built from the message shape omp sent.Checklist
npm run check. It passes in CI on macOS, Ubuntu, and Windows: 4231 web tests, 5 of them new, tsc, cargo fmt, clippy, and 473 to 539 Rust tests depending on the platform. One existing timing test,FilePaneNavigation, failed once on Windows and passed on rerun; this PR doesn't touch it. Locally, the harness and session tests and tsc pass.Tested on Windows 11 in the app, before and after the change, with the setup above. macOS and Linux were only checked by CI.
Summary by CodeRabbit