Skip to content

Commit f40755c

Browse files
authored
fix: render chat history after signing in (microsoft#196742)
* fix: render chat history after signing in * docs: add comment about using `height` param
1 parent f1de3fc commit f40755c

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
255255
return template;
256256
}
257257

258-
renderElement(node: ITreeNode<ChatTreeItem, FuzzyScore>, index: number, templateData: IChatListItemTemplate): void {
258+
renderElement(node: ITreeNode<ChatTreeItem, FuzzyScore>, index: number, templateData: IChatListItemTemplate, height?: number): void {
259259
const { element } = node;
260260
const kind = isRequestVM(element) ? 'request' :
261261
isResponseVM(element) ? 'response' :
@@ -322,7 +322,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
322322
convertParsedRequestToMarkdown(element.message);
323323
this.basicRenderElement([new MarkdownString(markdown)], element, index, templateData);
324324
} else {
325-
this.renderWelcomeMessage(element, templateData);
325+
this.renderWelcomeMessage(element, templateData, height);
326326
}
327327
}
328328

@@ -459,7 +459,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
459459
}
460460
}
461461

462-
private renderWelcomeMessage(element: IChatWelcomeMessageViewModel, templateData: IChatListItemTemplate) {
462+
private renderWelcomeMessage(element: IChatWelcomeMessageViewModel, templateData: IChatListItemTemplate, height?: number) {
463463
dom.clearNode(templateData.value);
464464
dom.clearNode(templateData.referencesListContainer);
465465
const slashCommands = this.delegate.getSlashCommands();
@@ -484,7 +484,9 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
484484
}
485485
}
486486

487-
const newHeight = templateData.rowContainer.offsetHeight;
487+
// When going from welcome content to actual chat list items, rowContainer.offsetHeight is initially 0,
488+
// but the height that we get from `renderElement` is accurate, so use that
489+
const newHeight = templateData.rowContainer.offsetHeight === 0 && height ? height : templateData.rowContainer.offsetHeight;
488490
const fireEvent = !element.currentRenderedHeight || element.currentRenderedHeight !== newHeight;
489491
element.currentRenderedHeight = newHeight;
490492
if (fireEvent) {

0 commit comments

Comments
 (0)