From 9ceb219f2e1ff88d6eed08ad3dc26734190d2500 Mon Sep 17 00:00:00 2001 From: Justin Chen <54879025+justschen@users.noreply.github.com> Date: Thu, 26 Feb 2026 18:17:45 -0800 Subject: [PATCH] fix double shimmer when chat is getting ready and fix tool call icons (#298083) * fix double shimmer when chat is getting ready * fix padding * fix double spinner * remove list renderer changes --- .../browser/widget/chatContentParts/chatProgressContentPart.ts | 3 ++- .../browser/widget/chatContentParts/chatThinkingContentPart.ts | 3 ++- .../widget/chatContentParts/media/chatThinkingContent.css | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.ts index 95b0edf8e26..615ae0c63dc 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.ts @@ -67,7 +67,8 @@ export class ChatProgressContentPart extends Disposable implements IChatContentP alert(progress.content.value); } const isLoadingIcon = icon && ThemeIcon.isEqual(icon, ThemeIcon.modify(Codicon.loading, 'spin')); - const useShimmer = shimmer ?? ((!icon || isLoadingIcon) && this.showSpinner); + // Even if callers request shimmer, only the active (spinner-visible) progress row should animate. + const useShimmer = (shimmer ?? (!icon || isLoadingIcon)) && this.showSpinner; // if we have shimmer, don't show spinner const codicon = useShimmer ? Codicon.check : (icon ?? (this.showSpinner ? ThemeIcon.modify(Codicon.loading, 'spin') : Codicon.check)); const result = this.chatContentMarkdownRenderer.render(progress.content); diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts index 4a99a9d93bf..b47f7312a4c 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts @@ -66,7 +66,8 @@ export function getToolInvocationIcon(toolId: string): ThemeIcon { if ( lowerToolId.includes('edit') || - lowerToolId.includes('create') + lowerToolId.includes('create') || + lowerToolId.includes('replace') ) { return Codicon.pencil; } diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css index 9cc43bb0699..31acb4c321b 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css @@ -184,7 +184,7 @@ } .chat-thinking-tool-wrapper .chat-markdown-part.rendered-markdown { - padding: 5px 12px 4px 20px; + padding: 5px 12px 4px 24px; .status-icon.codicon-check { display: none;