From e8d2f956ca70abb3da782a9b01314019eeb1048d Mon Sep 17 00:00:00 2001 From: Thomas Marchand Date: Sat, 3 Jan 2026 08:43:56 +0000 Subject: [PATCH] Fix user message not appearing when viewing a specific mission The user_message SSE event was being sent with mission_id: None, causing it to be filtered out by the frontend when viewing a specific mission. Now we read the current_mission before emitting the event and include its ID, so the frontend correctly displays the user's message. --- src/api/control.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/api/control.rs b/src/api/control.rs index a88b046..1028b46 100644 --- a/src/api/control.rs +++ b/src/api/control.rs @@ -1716,7 +1716,8 @@ async fn control_actor_loop( if running.is_none() { if let Some((mid, msg, model_override)) = queue.pop_front() { set_and_emit_status(&status, &events_tx, ControlRunState::Running, queue.len()).await; - let _ = events_tx.send(AgentEvent::UserMessage { id: mid, content: msg.clone(), mission_id: None }); + let current_mid = current_mission.read().await.clone(); + let _ = events_tx.send(AgentEvent::UserMessage { id: mid, content: msg.clone(), mission_id: current_mid }); let cfg = config.clone(); let agent = Arc::clone(&root_agent); let mem = memory.clone(); @@ -2332,7 +2333,8 @@ async fn control_actor_loop( // Start next queued message, if any. if let Some((mid, msg, model_override)) = queue.pop_front() { set_and_emit_status(&status, &events_tx, ControlRunState::Running, queue.len()).await; - let _ = events_tx.send(AgentEvent::UserMessage { id: mid, content: msg.clone(), mission_id: None }); + let current_mid = current_mission.read().await.clone(); + let _ = events_tx.send(AgentEvent::UserMessage { id: mid, content: msg.clone(), mission_id: current_mid }); let cfg = config.clone(); let agent = Arc::clone(&root_agent); let mem = memory.clone();