@@ -132,19 +132,36 @@ const PlanPage: React.FC = () => {
132132 // Persist / forward to backend (fire-and-forget with logging)
133133 const agentMessageResponse = PlanDataService . createAgentMessageResponse ( agentMessageData , planData , is_final , streaming_message ) ;
134134 console . log ( '📤 Persisting agent message:' , agentMessageResponse ) ;
135- void apiService . sendAgentMessage ( agentMessageResponse )
135+ const sendPromise = apiService . sendAgentMessage ( agentMessageResponse )
136136 . then ( saved => {
137137 console . log ( '[agent_message][persisted]' , {
138138 agent : agentMessageData . agent ,
139139 type : agentMessageData . agent_type ,
140140 ts : agentMessageData . timestamp
141141 } ) ;
142+
143+ // If this is a final message, refresh the task list after successful persistence
144+ if ( is_final ) {
145+ // Single refresh with a delay to ensure backend processing is complete
146+ setTimeout ( ( ) => {
147+ setReloadLeftList ( true ) ;
148+ } , 1000 ) ;
149+ }
142150 } )
143151 . catch ( err => {
144152 console . warn ( '[agent_message][persist-failed]' , err ) ;
153+ // Even if persistence fails, still refresh the task list for final messages
154+ // The local plan data has been updated, so the UI should reflect that
155+ if ( is_final ) {
156+ setTimeout ( ( ) => {
157+ setReloadLeftList ( true ) ;
158+ } , 1000 ) ;
159+ }
145160 } ) ;
146161
147- } , [ ] ) ;
162+ return sendPromise ;
163+
164+ } , [ setReloadLeftList ] ) ;
148165
149166 const resetPlanVariables = useCallback ( ( ) => {
150167 setInput ( "" ) ;
@@ -335,20 +352,17 @@ const PlanPage: React.FC = () => {
335352 setPlanData ( { ...planData } ) ;
336353 }
337354
355+ // Wait for the agent message to be processed and persisted
356+ // The processAgentMessage function will handle refreshing the task list
338357 processAgentMessage ( agentMessageData , planData , is_final , streamingMessageBuffer ) ;
339358
340- setTimeout ( ( ) => {
341- console . log ( '✅ Plan completed, refreshing left list' ) ;
342- setReloadLeftList ( true ) ;
343- } , 1000 ) ;
344-
345359 }
346360
347361
348362 } ) ;
349363
350364 return ( ) => unsubscribe ( ) ;
351- } , [ scrollToBottom , planData , processAgentMessage , streamingMessageBuffer , setSelectedTeam , setReloadLeftList ] ) ;
365+ } , [ scrollToBottom , planData , processAgentMessage , streamingMessageBuffer , setSelectedTeam ] ) ;
352366
353367 //WebsocketMessageType.AGENT_MESSAGE
354368 useEffect ( ( ) => {
0 commit comments