diff --git a/src/mind/mod.rs b/src/mind/mod.rs index 032b4cb..c2c79ca 100644 --- a/src/mind/mod.rs +++ b/src/mind/mod.rs @@ -246,9 +246,6 @@ impl Mind { ); } MindCommand::Turn(input, target) => { - if target == StreamTarget::Conversation { - let _ = self.ui_tx.send(UiMessage::UserInput(input.clone())); - } self.shared.lock().unwrap().turn_active = true; let _ = self.turn_watch.send(true); let agent = self.agent.clone(); diff --git a/src/user/event_loop.rs b/src/user/event_loop.rs index e7b2805..ccd5a36 100644 --- a/src/user/event_loop.rs +++ b/src/user/event_loop.rs @@ -263,6 +263,11 @@ pub async fn run( })); dirty = true; } + if cur.turn_active && !prev_mind.turn_active && !prev_mind.input.is_empty() { + let text = prev_mind.input.join("\n"); + let _ = ui_tx.send(UiMessage::UserInput(text)); + dirty = true; + } if cur.turn_active != prev_mind.turn_active { dirty = true; }