From aa568a9365cbe9f613223d045e9b2db60205935c Mon Sep 17 00:00:00 2001 From: trivernis Date: Sun, 12 Dec 2021 10:49:10 +0100 Subject: [PATCH] Add daemon discovery to has_executable check Signed-off-by: trivernis --- mediarepo-api/src/tauri_plugin/commands/daemon.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mediarepo-api/src/tauri_plugin/commands/daemon.rs b/mediarepo-api/src/tauri_plugin/commands/daemon.rs index af4b9a3..01bff9d 100644 --- a/mediarepo-api/src/tauri_plugin/commands/daemon.rs +++ b/mediarepo-api/src/tauri_plugin/commands/daemon.rs @@ -1,5 +1,7 @@ +use crate::daemon_management::find_daemon_executable; use crate::tauri_plugin::commands::AppAccess; use crate::tauri_plugin::error::PluginResult; +use crate::tauri_plugin::settings::save_settings; use bromine::prelude::{IPCError, IPCResult}; use bromine::IPCBuilder; use std::io::ErrorKind; @@ -8,7 +10,12 @@ use tokio::net::TcpListener; #[tauri::command] pub async fn has_executable(app_state: AppAccess<'_>) -> PluginResult { - let settings = app_state.settings.read().await; + let mut settings = app_state.settings.write().await; + + if settings.daemon_path.is_none() { + settings.daemon_path = find_daemon_executable().map(|e| e.to_string_lossy().to_string()); + save_settings(&settings)?; + } Ok(settings.daemon_path.is_some()) }