Skip to content

Commit 3ffb2fa

Browse files
committed
Fix elicitation message duplicating and buttons not hiding
1 parent afabd39 commit 3ffb2fa

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationWidget.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,17 @@ abstract class BaseChatConfirmationWidget extends Disposable {
432432
}
433433
}
434434

435+
436+
// protected renderMessage(element: HTMLElement, listContainer: HTMLElement): void {
437+
// this.messageElement.append(element);
438+
439+
// if (this.showingButtons && this._configurationService.getValue<boolean>('chat.notifyWindowOnConfirmation')) {
440+
// const targetWindow = dom.getWindow(listContainer);
441+
// if (!targetWindow.document.hasFocus()) {
442+
// this.notifyConfirmationNeeded(targetWindow);
443+
// }
444+
// }
445+
// }
435446
protected renderMessage(element: HTMLElement | IMarkdownString | string, listContainer: HTMLElement): void {
436447
if (!dom.isHTMLElement(element)) {
437448
const messageElement = this._register(this.markdownRenderer.render(
@@ -441,6 +452,9 @@ abstract class BaseChatConfirmationWidget extends Disposable {
441452
element = messageElement.element;
442453
}
443454

455+
for (const child of this.messageElement.children) {
456+
child.remove();
457+
}
444458
this.messageElement.append(element);
445459

446460
if (this.showingButtons && this._configurationService.getValue<boolean>('chat.notifyWindowOnConfirmation')) {

src/vs/workbench/contrib/chat/browser/chatContentParts/chatElicitationContentPart.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { IInstantiationService } from '../../../../../platform/instantiation/com
1010
import { IChatProgressRenderableResponseContent } from '../../common/chatModel.js';
1111
import { IChatElicitationRequest } from '../../common/chatService.js';
1212
import { IChatAccessibilityService } from '../chat.js';
13-
import { ChatConfirmationWidget } from './chatConfirmationWidget.js';
13+
import { ChatConfirmationWidget, SimpleChatConfirmationWidget } from './chatConfirmationWidget.js';
1414
import { IChatContentPart, IChatContentPartRenderContext } from './chatContentParts.js';
1515

1616
export class ChatElicitationContentPart extends Disposable implements IChatContentPart {
@@ -31,7 +31,7 @@ export class ChatElicitationContentPart extends Disposable implements IChatConte
3131
{ label: elicitation.acceptButtonLabel, data: true },
3232
{ label: elicitation.rejectButtonLabel, data: false, isSecondary: true },
3333
];
34-
const confirmationWidget = this._register(this.instantiationService.createInstance(ChatConfirmationWidget, context.container, { title: elicitation.title, icon: undefined, subtitle: elicitation.subtitle, buttons, message: this.getMessageToRender(elicitation), toolbarData: { partType: 'elicitation', partSource: elicitation.source?.type, arg: elicitation } }));
34+
const confirmationWidget = this._register(this.instantiationService.createInstance(ChatConfirmationWidget, context.container, { title: elicitation.title, subtitle: elicitation.subtitle, buttons, message: this.getMessageToRender(elicitation), toolbarData: { partType: 'elicitation', partSource: elicitation.source?.type, arg: elicitation } }));
3535
confirmationWidget.setShowButtons(elicitation.state === 'pending');
3636

3737
if (elicitation.onDidRequestHide) {

src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatConfirmationWidget.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,6 @@
240240
border-top-right-radius: 0px;
241241
}
242242

243-
.chat-confirmation-widget2.hideButtons .chat-buttons-container {
243+
.chat-confirmation-widget2.hideButtons .chat-buttons {
244244
display: none;
245245
}

0 commit comments

Comments
 (0)