diff --git a/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts b/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts index 3e96fdb09fe..7b830a726c7 100644 --- a/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts +++ b/src/vs/workbench/contrib/chat/browser/chatListRenderer.ts @@ -481,7 +481,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer 0) { + if (isResponseVM(element) && element.isComplete && element.edits.size > 0 && element.response.value.length === 0) { dom.append(templateData.value, $('.interactive-edits-summary', undefined, localize('editsSummary', "Made text edits"))); } diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts index 906b3ac6077..dcbc0f2e9fc 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts @@ -460,32 +460,32 @@ export class InlineChatController implements IEditorContribution { let message = Message.NONE; let request: IChatRequestModel | undefined; + + const barrier = new Barrier(); + const store = new DisposableStore(); + store.add(this._session.chatModel.onDidChange(e => { + if (e.kind === 'addRequest') { + request = e.request; + this.acceptInput(); + } + })); + store.add(this._strategy.onDidAccept(() => this.acceptSession())); + store.add(this._strategy.onDidDiscard(() => this.cancelSession())); + store.add(Event.once(this._messages.event)(m => { + this._log('state=_waitForInput) message received', m); + message = m; + barrier.open(); + })); + if (options.autoSend) { - message = Message.ACCEPT_INPUT; delete options.autoSend; - // TODO@jrieken accept input on the WIDGET - - } else { - const barrier = new Barrier(); - const store = new DisposableStore(); - store.add(this._session.chatModel.onDidChange(e => { - if (e.kind === 'addRequest') { - request = e.request; - this.acceptInput(); - } - })); - store.add(this._strategy.onDidAccept(() => this.acceptSession())); - store.add(this._strategy.onDidDiscard(() => this.cancelSession())); - store.add(Event.once(this._messages.event)(m => { - this._log('state=_waitForInput) message received', m); - message = m; - barrier.open(); - })); - - await barrier.wait(); - store.dispose(); + this._showWidget(false); + this._zone.value.widget.chatWidget.acceptInput(); } + await barrier.wait(); + store.dispose(); + if (message & (Message.CANCEL_INPUT | Message.CANCEL_SESSION)) { return State.CANCEL;