diff --git a/src/bin/cli.rs b/src/bin/cli.rs index 3023d39..8cea7ed 100644 --- a/src/bin/cli.rs +++ b/src/bin/cli.rs @@ -115,7 +115,9 @@ async fn main() -> Result<(), Box> { }, }; - let response = make_request(request).await?; + let response = make_request(request) + .await + .map_err(|e| e as Box)?; println!("{} : {}", response.status, response.message); Ok(()) diff --git a/src/utils/daemon.rs b/src/utils/daemon.rs index 985d4de..8be5586 100644 --- a/src/utils/daemon.rs +++ b/src/utils/daemon.rs @@ -124,7 +124,7 @@ pub async fn wait_for_daemon() -> Result<(), Box> { Ok(()) } -pub async fn make_request(request: Request) -> Result> { +pub async fn make_request(request: Request) -> Result> { let socket_path = get_runtime_dir().join("daemon.sock"); let mut stream = UnixStream::connect(socket_path).await?; diff --git a/src/utils/gui.rs b/src/utils/gui.rs index 587aee5..81544c7 100644 --- a/src/utils/gui.rs +++ b/src/utils/gui.rs @@ -25,7 +25,9 @@ pub fn get_gui_config() -> GuiConfig { pub fn make_request_sync(request: Request) -> Result> { tokio::task::block_in_place(|| { - tokio::runtime::Handle::current().block_on(make_request(request)) + tokio::runtime::Handle::current() + .block_on(make_request(request)) + .map_err(|e| e as Box) }) } @@ -42,7 +44,7 @@ pub fn format_time_pair(position: f32, duration: f32) -> String { pub fn start_app_state_thread(audio_player_state_shared: Arc>) { tokio::spawn(async move { - let sleep_duration = Duration::from_millis(100); + let sleep_duration = Duration::from_secs_f32(1.0 / 60.0); loop { wait_for_daemon().await.ok(); @@ -57,15 +59,37 @@ pub fn start_app_state_thread(audio_player_state_shared: Arc serde_json::from_str::(&state_res.message).unwrap(),