From c7ec5d3b75bac7cc667abb702d808c901843e865 Mon Sep 17 00:00:00 2001 From: Xubin Ren Date: Wed, 13 May 2026 07:58:24 +0000 Subject: [PATCH] fix(webui): align thinking and tool trace affordances Tool trace groups are supporting details, so default them to collapsed. Match the Thinking bubble's expanded body to the tool trace affordance by using the same grouped header and animated fade/slide body treatment. Update MessageBubble tests to assert tool traces start collapsed and expand on click. Co-authored-by: Cursor --- webui/src/components/MessageBubble.tsx | 11 ++++++----- webui/src/tests/message-bubble.test.tsx | 7 ++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/webui/src/components/MessageBubble.tsx b/webui/src/components/MessageBubble.tsx index 9002ad500..abf85f663 100644 --- a/webui/src/components/MessageBubble.tsx +++ b/webui/src/components/MessageBubble.tsx @@ -386,14 +386,14 @@ interface TraceGroupProps { /** * Collapsible group of tool-call / progress breadcrumbs. Defaults to - * expanded for discoverability; a single click on the header folds the - * group down to a one-line summary so it never dominates the thread. + * collapsed because tool traces are supporting evidence, not the answer. + * A single click expands the exact calls when the user wants details. */ function TraceGroup({ message, animClass }: TraceGroupProps) { const { t } = useTranslation(); const lines = message.traces ?? [message.content]; const count = lines.length; - const [open, setOpen] = useState(true); + const [open, setOpen] = useState(false); return (