@@ -61,7 +61,7 @@ const LINE_HEIGHT = 36;
6161 window . addEventListener ( "message" , ( event ) => {
6262 const message = event . data ;
6363 if ( message . command === "add_result" ) {
64- addMessageToUI ( message . result ) ;
64+ withStickyScroll ( addMessageToUI ) ( message . result ) ;
6565 } else if ( message . command === "clear_chat" ) {
6666 clearAllMessages ( ) ;
6767 } else if ( message . command === "focus" ) {
@@ -98,7 +98,6 @@ const LINE_HEIGHT = 36;
9898
9999 // Function to add a user message to the chat interface
100100 function addUserMessageToUI ( message ) {
101- const { scrollHeight : scrollHeightBefore } = messageContainer ;
102101 const templateMessage = `
103102 ${ chatAvatar }
104103 <div class="sidebar__chat-assistant--chat-bubble-content-user">
@@ -112,8 +111,6 @@ const LINE_HEIGHT = 36;
112111 ) ;
113112 userMessageElement . innerHTML = templateMessage ;
114113 chatContainer . append ( userMessageElement ) ;
115- const { scrollHeight : scrollHeightAfter } = messageContainer ;
116- stickyScrollToBottom ( scrollHeightAfter - scrollHeightBefore ) ;
117114 }
118115
119116 function addMessageToUI ( result ) {
@@ -160,7 +157,6 @@ const LINE_HEIGHT = 36;
160157 if ( currentAssistantMessage != null && message . outcome !== "error" ) {
161158 replaceCurrentAssistantMessage ( ) ;
162159 } else {
163- const { scrollHeight : scrollHeightBefore } = messageContainer ;
164160 const templateContents = `
165161 <!-- Using an absolute sourcery.ai URL for now, since I'm not sure how does VS Code extensions handle static assets. -->
166162 ${ assistantAvatar }
@@ -187,21 +183,16 @@ const LINE_HEIGHT = 36;
187183 ".sidebar__chat-assistant--chat-bubble-text"
188184 ) ;
189185 replaceCurrentAssistantMessage ( ) ;
190- const { scrollHeight : scrollHeightAfter } = messageContainer ;
191- stickyScrollToBottom ( scrollHeightAfter - scrollHeightBefore ) ;
192186 }
193187 }
194188
195189 function addAssistantThinkingMessageToUI ( ) {
196- const { scrollHeight : scrollHeightBefore } = messageContainer ;
197190 if ( thinkingMessage != null ) {
198191 thinkingMessage . remove ( ) ;
199192 thinkingMessage = null ;
200193 }
201194 thinkingMessage = thinkingMessageElement ;
202195 chatContainer . append ( thinkingMessage ) ;
203- const { scrollHeight : scrollHeightAfter } = messageContainer ;
204- stickyScrollToBottom ( scrollHeightAfter - scrollHeightBefore ) ;
205196 }
206197
207198 // Enable/Disable send button depending on whether text area is empty
0 commit comments