@@ -54,20 +54,21 @@ export const ChatMessages: React.FC<ChatMessagesProps> = ({
5454
5555 // Context is now handled by RFC hooks - no subscriptions needed
5656
57- // Only show suggestion on llm outputs after last user input
58- const showSuggestions = useMemo ( ( ) => {
57+ const lastAssistantMessageIndex = useMemo (
58+ ( ) => timeline . findLastIndex ( ( message ) => message . role === 'assistant' ) ,
59+ [ timeline ]
60+ ) ;
61+ // Only enable suggestion on llm outputs after last user input
62+ const suggestionsEnabled = useMemo ( ( ) => {
5963 if ( isStreaming ) {
6064 return false ;
6165 }
6266 if ( timeline . length === 0 ) {
6367 return false ;
6468 }
65- const lastAssistantMessageIndex = timeline . findLastIndex (
66- ( message ) => message . role === 'assistant'
67- ) ;
6869 const lastUserMessageIndex = timeline . findLastIndex ( ( message ) => message . role === 'user' ) ;
6970 return lastAssistantMessageIndex > lastUserMessageIndex ;
70- } , [ timeline , isStreaming ] ) ;
71+ } , [ timeline , isStreaming , lastAssistantMessageIndex ] ) ;
7172
7273 return (
7374 < >
@@ -87,7 +88,7 @@ export const ChatMessages: React.FC<ChatMessagesProps> = ({
8788 </ div >
8889 ) }
8990
90- { timeline . map ( ( message ) => {
91+ { timeline . map ( ( message , index ) => {
9192 // Handle different message types
9293 if ( message . role === 'user' ) {
9394 return < MessageRow key = { message . id } message = { message } onResend = { onResendMessage } /> ;
@@ -117,7 +118,9 @@ export const ChatMessages: React.FC<ChatMessagesProps> = ({
117118 < MessageRow message = { assistantMsg } />
118119 ) }
119120
120- { showSuggestions && < ChatSuggestions messages = { timeline } /> }
121+ { suggestionsEnabled && lastAssistantMessageIndex === index && (
122+ < ChatSuggestions messages = { timeline } currentMessage = { message } />
123+ ) }
121124
122125 { /* Tool calls below the message */ }
123126 { assistantMsg . toolCalls ?. map ( ( toolCall ) => {
0 commit comments