@@ -860,15 +860,18 @@ class ChatStore {
860860 this . currentResponse = '' ;
861861
862862 try {
863- const assistantMessage = await this . createAssistantMessage ( ) ;
863+ const parentMessageId =
864+ this . activeMessages . length > 0
865+ ? this . activeMessages [ this . activeMessages . length - 1 ] . id
866+ : null ;
867+
868+ const assistantMessage = await this . createAssistantMessage ( parentMessageId ) ;
864869
865870 if ( ! assistantMessage ) {
866871 throw new Error ( 'Failed to create assistant message' ) ;
867872 }
868873
869874 this . activeMessages . push ( assistantMessage ) ;
870- await DatabaseStore . updateCurrentNode ( this . activeConversation . id , assistantMessage . id ) ;
871- this . activeConversation . currNode = assistantMessage . id ;
872875
873876 const conversationContext = this . activeMessages . slice ( 0 , - 1 ) ;
874877
@@ -1124,8 +1127,10 @@ class ChatStore {
11241127 ( m ) => m . role === 'user' && m . parent === rootMessage ?. id
11251128 ) ;
11261129
1127- await DatabaseStore . updateCurrentNode ( this . activeConversation . id , siblingId ) ;
1128- this . activeConversation . currNode = siblingId ;
1130+ const currentLeafNodeId = findLeafNode ( allMessages , siblingId ) ;
1131+
1132+ await DatabaseStore . updateCurrentNode ( this . activeConversation . id , currentLeafNodeId ) ;
1133+ this . activeConversation . currNode = currentLeafNodeId ;
11291134 await this . refreshActiveMessages ( ) ;
11301135
11311136 // Only show title dialog if we're navigating between different first user message siblings
0 commit comments