Clarify compact activity timeline semantics

This commit is contained in:
Frank Song
2026-05-17 23:03:56 +08:00
parent 603183a301
commit 7a53fd4542
5 changed files with 10 additions and 6 deletions
+4
View File
@@ -2,6 +2,10 @@
## [Unreleased]
### Changed
- Clarify `Compact tool activity` semantics: the setting now describes compact inline activity that preserves the agent timeline, matching the current long-running turn behavior where thinking cards, visible progress notes, and tool Activity bursts stay in chronological order instead of being described as one top-of-turn collapsed block.
## [v0.51.82] — 2026-05-17 — Release BF (stage-375 — 2-PR batch — table renderer pipe protection + Catppuccin appearance skin)
### Added
+1 -1
View File
@@ -4057,7 +4057,7 @@ _SETTINGS_DEFAULTS = {
"rtl": False, # right-to-left chat layout (chat messages + composer only)
"notifications_enabled": False, # browser notification when tab is in background
"show_thinking": True, # show/hide thinking/reasoning blocks in chat view
"simplified_tool_calling": True, # group tools/thinking into one quiet activity disclosure
"simplified_tool_calling": True, # render tools/thinking as compact inline timeline activity
"api_redact_enabled": True, # redact sensitive data (API keys, secrets) from API responses
"sidebar_density": "compact", # compact | detailed
"auto_title_refresh_every": "0", # adaptive title refresh: 0=off, 5/10/20=every N exchanges
+1 -1
View File
@@ -1047,7 +1047,7 @@
<input type="checkbox" id="settingsSimplifiedToolCalling" style="width:15px;height:15px;accent-color:var(--accent)">
<span>Compact tool activity</span>
</label>
<div style="font-size:11px;color:var(--muted);margin-top:4px">Group thinking and tool calls into one collapsed activity section per assistant turn.</div>
<div style="font-size:11px;color:var(--muted);margin-top:4px">Show thinking and tool calls as compact inline activity while preserving the agent timeline.</div>
</div>
<div class="settings-field">
<label style="display:flex;align-items:center;gap:8px;cursor:pointer">
+1 -1
View File
@@ -794,7 +794,7 @@ def test_ui_js_keeps_reasoning_only_assistant_messages_visible(cleanup_test_sess
def test_ui_js_does_not_hide_anchor_segments_that_contain_thinking(cleanup_test_sessions):
"""R19c2/R19c3: reasoning-only messages must remain visible through the
shared collapsed activity dropdown, even when the anchor segment has no prose.
shared compact timeline activity UI, even when the anchor segment has no prose.
"""
src = (REPO_ROOT / "static" / "ui.js").read_text()
compact = src.replace(' ', '').replace('\n', '')
+3 -3
View File
@@ -100,7 +100,7 @@ class TestToolCallGroupingStatic:
fn = _function_body(UI_JS, "renderMessages")
helper = _function_body(UI_JS, "ensureActivityGroup")
assert "isSimplifiedToolCalling()" in fn, (
"Settled tool/thinking grouping should be gated by the Compact tool activity toggle."
"Settled compact inline activity rendering should be gated by the Compact tool activity toggle."
)
assert "tool-cards-toggle" in fn, (
"The non-simplified path should preserve the upstream loose tool-card controls."
@@ -157,7 +157,7 @@ class TestToolCallGroupingStatic:
live_fn = _function_body(UI_JS, "appendLiveToolCard")
settled_fn = _function_body(UI_JS, "renderMessages")
assert "isSimplifiedToolCalling()" in live_fn, (
"Live streaming tool cards should branch on the Compact tool activity toggle."
"Live streaming tool cards should branch on the Compact tool activity timeline mode."
)
assert "ensureActivityGroup" in live_fn, (
"Compact live tool rendering should use the grouped activity container."
@@ -263,7 +263,7 @@ class TestToolCallGroupingStatic:
def test_compact_activity_keeps_thinking_cards_after_session_switch(self):
ui_min = re.sub(r"\s+", "", UI_JS)
assert "functionensureActivityGroup(" in ui_min, (
"Tool calls should still use the shared Activity disclosure helper."
"Tool calls should still use the shared compact Activity disclosure helper."
)
assert "data-agent-activity-group" in UI_JS, (
"The Activity disclosure needs a stable data-agent-activity-group hook."