Skip to content

Commit d62faa3

Browse files
authored
fix chat editing rendering issues (microsoft#253133)
fix some rendering issues
1 parent e21d52c commit d62faa3

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/vs/workbench/contrib/chat/browser/chatListRenderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
490490
templateData.requestHover.classList.toggle('hidden', !!this.viewModel?.editing && !editing);
491491
templateData.requestHover.classList.toggle('expanded', this.configService.getValue<string>('chat.editRequests') === 'hover');
492492
templateData.elementDisposables.add(dom.addDisposableListener(templateData.rowContainer, dom.EventType.CLICK, () => {
493-
if (this.viewModel?.editing && element.id !== this.viewModel.editing.id) {
493+
if (this.viewModel?.editing && element.id !== this.viewModel.editing.id && element === this.templateDataByRequestId.get(element.id)?.currentElement) {
494494
this._onDidFocusOutside.fire();
495495
}
496496
}));

src/vs/workbench/contrib/chat/browser/chatWidget.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,13 +1088,15 @@ export class ChatWidget extends Disposable implements IChatWidget {
10881088
if (!isInput) {
10891089
this.inputPart?.toggleChatInputOverlay(false);
10901090
try {
1091-
editedRequest?.rowContainer.removeChild(this.inputContainer);
1092-
} catch (e) {
1093-
if (this.inputContainer.parentElement) {
1091+
if (editedRequest?.rowContainer && editedRequest.rowContainer.contains(this.inputContainer)) {
1092+
editedRequest.rowContainer.removeChild(this.inputContainer);
1093+
} else if (this.inputContainer.parentElement) {
10941094
this.inputContainer.parentElement.removeChild(this.inputContainer);
10951095
}
1096-
this.inputContainer = null!;
1096+
} catch (e) {
1097+
this.logService.error('Error occurred while finishing editing:', e);
10971098
}
1099+
this.inputContainer = dom.$('.empty-chat-state');
10981100
}
10991101
if (isInput) {
11001102
this.inputPart.element.classList.remove('editing');

0 commit comments

Comments
 (0)