From b5ec2eed404861b75f723463b43dcced07eb3176 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 31 Jul 2026 04:53:41 +0200 Subject: [PATCH] Status --- src/engine/engine/mod.rs | 10 ++++++++++ src/engine/engine/strategy.rs | 1 + src/engine/engine/terminal.rs | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/src/engine/engine/mod.rs b/src/engine/engine/mod.rs index b315add..492dc7f 100644 --- a/src/engine/engine/mod.rs +++ b/src/engine/engine/mod.rs @@ -79,6 +79,8 @@ impl Engine { self.status.lock().await.strategy_state = ItemState::Starting; + self.update_status().await?; + self.strategy_engine.run().await?; self.terminal_server @@ -92,4 +94,12 @@ impl Engine { strategy: self.strategy_engine.strategy.lock().await.manifest.clone(), } } + + pub async fn update_status(&self) -> tokio::io::Result<()> { + self.terminal_server + .broadcast(TerminalServerMessage::StatusUpdated( + self.status.lock().await.clone(), + )) + .await + } } diff --git a/src/engine/engine/strategy.rs b/src/engine/engine/strategy.rs index b91690a..b617edb 100644 --- a/src/engine/engine/strategy.rs +++ b/src/engine/engine/strategy.rs @@ -99,6 +99,7 @@ impl StrategyEngine { .await?; engine.status.lock().await.strategy_state = ItemState::Running; + engine.update_status().await?; loop { match StrategyChild::read(&mut stdout).await? { diff --git a/src/engine/engine/terminal.rs b/src/engine/engine/terminal.rs index 17e02d7..c6fc2d0 100644 --- a/src/engine/engine/terminal.rs +++ b/src/engine/engine/terminal.rs @@ -75,6 +75,12 @@ impl TerminalServer { ) .await?; + self.send_to( + id, + TerminalServerMessage::StatusUpdated(engine.status.lock().await.clone()), + ) + .await?; + self.send_to( id, pulse_sdk::terminal::TerminalServerMessage::SetLogs(self.logs.lock().await.clone()),