diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts index 7ae2f266adf..20d093f5228 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts @@ -1443,21 +1443,29 @@ export class InlineChatController2 implements IEditorContribution { this._store.add(autorun(r => { const response = lastResponseObs.read(r); + this._zone.value.widget.updateInfo(''); + if (!response?.isInProgress.read(r)) { + + if (response?.result?.errorDetails) { + // ERROR case + this._zone.value.widget.updateInfo(`$(error) ${response.result.errorDetails.message}`); + alert(response.result.errorDetails.message); + } + // no response or not in progress this._zone.value.widget.domNode.classList.toggle('request-in-progress', false); this._zone.value.widget.chatWidget.setInputPlaceholder(localize('placeholder', "Edit, refactor, and generate code")); - return; - } - this._zone.value.widget.domNode.classList.toggle('request-in-progress', true); - let placeholder = response.request?.message.text; - - const lastProgress = lastResponseProgressObs.read(r); - if (lastProgress) { - placeholder = renderAsPlaintext(lastProgress.content); + } else { + this._zone.value.widget.domNode.classList.toggle('request-in-progress', true); + let placeholder = response.request?.message.text; + const lastProgress = lastResponseProgressObs.read(r); + if (lastProgress) { + placeholder = renderAsPlaintext(lastProgress.content); + } + this._zone.value.widget.chatWidget.setInputPlaceholder(placeholder || localize('loading', "Working...")); } - this._zone.value.widget.chatWidget.setInputPlaceholder(placeholder || localize('loading', "Working...")); })); diff --git a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css index 443ba1eb217..83aa2b47e3e 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +++ b/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css @@ -191,7 +191,7 @@ .monaco-workbench .inline-chat > .status { .label, .actions { - padding-top: 8px; + padding: 4px 0; } } @@ -202,14 +202,13 @@ .monaco-workbench .inline-chat .status .label { overflow: hidden; color: var(--vscode-descriptionForeground); - font-size: 11px; + font-size: 12px; display: flex; white-space: nowrap; } .monaco-workbench .inline-chat .status .label.info { margin-right: auto; - padding-left: 2px; } .monaco-workbench .inline-chat .status .label.status {