@@ -255,7 +255,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
255
255
return template ;
256
256
}
257
257
258
- renderElement ( node : ITreeNode < ChatTreeItem , FuzzyScore > , index : number , templateData : IChatListItemTemplate ) : void {
258
+ renderElement ( node : ITreeNode < ChatTreeItem , FuzzyScore > , index : number , templateData : IChatListItemTemplate , height ?: number ) : void {
259
259
const { element } = node ;
260
260
const kind = isRequestVM ( element ) ? 'request' :
261
261
isResponseVM ( element ) ? 'response' :
@@ -322,7 +322,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
322
322
convertParsedRequestToMarkdown ( element . message ) ;
323
323
this . basicRenderElement ( [ new MarkdownString ( markdown ) ] , element , index , templateData ) ;
324
324
} else {
325
- this . renderWelcomeMessage ( element , templateData ) ;
325
+ this . renderWelcomeMessage ( element , templateData , height ) ;
326
326
}
327
327
}
328
328
@@ -459,7 +459,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
459
459
}
460
460
}
461
461
462
- private renderWelcomeMessage ( element : IChatWelcomeMessageViewModel , templateData : IChatListItemTemplate ) {
462
+ private renderWelcomeMessage ( element : IChatWelcomeMessageViewModel , templateData : IChatListItemTemplate , height ?: number ) {
463
463
dom . clearNode ( templateData . value ) ;
464
464
dom . clearNode ( templateData . referencesListContainer ) ;
465
465
const slashCommands = this . delegate . getSlashCommands ( ) ;
@@ -484,7 +484,9 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
484
484
}
485
485
}
486
486
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 ;
488
490
const fireEvent = ! element . currentRenderedHeight || element . currentRenderedHeight !== newHeight ;
489
491
element . currentRenderedHeight = newHeight ;
490
492
if ( fireEvent ) {
0 commit comments