fix(desktop): drop the fade mask on the live thinking preview

The preview window masked its top 28% to transparent while reasoning
streamed, so a gradient appeared over the thinking text and vanished the
moment the block finished. Remove the mask; the max-height window and
bottom-pinned scroll still keep the preview compact and following the
newest tokens.
This commit is contained in:
Brooklyn Nicholson 2026-07-26 01:21:47 -05:00
parent dacd8d5416
commit bf726a7ab8
2 changed files with 2 additions and 12 deletions

View file

@ -74,9 +74,7 @@ const ThinkingDisclosure: FC<{
const isPreview = pending && userOpen === null
// While the preview is live, pin the scroll container to the bottom on
// every content growth so the latest tokens are always visible. Combined
// with the top mask in styles.css, this reads as text settling in from
// below while older lines fade out at the top.
// every content growth so the latest tokens are always visible.
useEffect(() => {
if (!isPreview) {
return
@ -134,7 +132,7 @@ const ThinkingDisclosure: FC<{
// and inherits the disclosure-level opacity fade defined in
// styles.css (~0.67 at rest, 1 on hover/focus).
'mt-0.5 w-full min-w-0 max-w-full overflow-hidden wrap-anywhere pb-1',
isPreview && 'thinking-preview max-h-40'
isPreview && 'max-h-40'
)}
ref={scrollRef}
>

View file

@ -1467,14 +1467,6 @@ text-* variant utilities. */ .btn-arc {
height: 0.875rem;
}
/* Live thinking preview window. Pairs with the ResizeObserver in
ThinkingDisclosure that pins scrollTop to the bottom older lines fade
into the top mask while the latest tokens settle in below. */
.thinking-preview {
-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 28%, black 100%);
mask-image: linear-gradient(to bottom, transparent 0%, black 28%, black 100%);
}
/* Long adjacent tool-call run collapsed into a fixed, auto-scrolling window.
ToolGroupSlot pins the newest call to the bottom (unless the user scrolls
up), so a back-to-back run stays compact instead of pushing the reply off