From 5f2c145ab67e1a3924dd6459f8ce00f1eb25d665 Mon Sep 17 00:00:00 2001 From: sunheyi <50973219+sunheyi6@users.noreply.github.com> Date: Sat, 1 Aug 2026 12:03:24 +0800 Subject: [PATCH] fix(ui): hide redundant chat disclosure chevrons --- apps/desktop/src/renderer/styles/base.css | 8 ++++++++ packages/ui/src/__tests__/processing-block.test.tsx | 2 ++ packages/ui/src/chat-turn.tsx | 4 ++-- packages/ui/src/tool-activity.tsx | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/apps/desktop/src/renderer/styles/base.css b/apps/desktop/src/renderer/styles/base.css index affc546f65..ab8131e4ca 100644 --- a/apps/desktop/src/renderer/styles/base.css +++ b/apps/desktop/src/renderer/styles/base.css @@ -2,6 +2,14 @@ body { margin: 0; } + /* Chat disclosures already pair their full-row trigger with a semantic + activity icon and aria-expanded. Astryx's trailing chevron lands at the + far edge of the reading column, where repeated rows look like a stray + vertical control rail. Keep the disclosure interaction and semantics, + but suppress that redundant decorative indicator on chat rows only. */ + .maka-chat-disclosure > button > span:last-child { + display: none; + } .detailPane { min-width: 0; min-height: 0; diff --git a/packages/ui/src/__tests__/processing-block.test.tsx b/packages/ui/src/__tests__/processing-block.test.tsx index 0d5a8b414b..a0ea4a7645 100644 --- a/packages/ui/src/__tests__/processing-block.test.tsx +++ b/packages/ui/src/__tests__/processing-block.test.tsx @@ -43,6 +43,7 @@ describe('ProcessingBlock disclosure wiring (#1307)', () => { })); assert.match(markup, /class="[^"]*astryx-collapsible[^"]*"/); + assert.match(markup, /class="[^"]*maka-chat-disclosure[^"]*"/); assert.match(markup, /]*aria-expanded="false"[^>]*aria-controls="[^"]+"/); assert.match(markup, /class="[^"]*astryx-collapsible-content[^"]*"/); assert.doesNotMatch(markup, /data-trow="row"/); @@ -116,6 +117,7 @@ describe('deep-thinking disclosure', () => { })); assert.match(markup, /class="[^"]*astryx-collapsible[^"]*"/); + assert.match(markup, /class="[^"]*maka-chat-disclosure[^"]*"/); assert.match(markup, /]*aria-expanded="false"[^>]*aria-controls="[^"]+"/); const trigger = markup.match(/(]*aria-expanded="false"[\s\S]*?<\/button>)/)?.[1]; assert.ok(trigger, 'deep-thinking disclosure must expose a collapsed trigger'); diff --git a/packages/ui/src/chat-turn.tsx b/packages/ui/src/chat-turn.tsx index 54c3d49984..864d4deb72 100644 --- a/packages/ui/src/chat-turn.tsx +++ b/packages/ui/src/chat-turn.tsx @@ -1001,7 +1001,7 @@ function ProcessingBlock(props: { entries: FoldedTimelineChild[] }) { const summary = summarizeProcessing(entries, { live: running, locale }); return (