diff --git a/src/main.rs b/src/main.rs index 88efb70..8586d8d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -23,7 +23,12 @@ fn main() { } #[cfg(feature = "server")] -fn main() { +fn main() -> std::process::ExitCode { tracing_setup(); - server::main() + + if let Err(e) = server::main() { + tracing::error!("Server main failed:\n{e}"); + } + + std::process::ExitCode::FAILURE } diff --git a/src/server/main.rs b/src/server/main.rs index a07663e..bd26697 100644 --- a/src/server/main.rs +++ b/src/server/main.rs @@ -1,9 +1,12 @@ use crate::App; +use crate::util::error::Error; -pub fn main() { +pub fn main() -> Result<()> { if let Err(e) = dotenvy::dotenv() { tracing::warn!("Error reading .env: {e}"); } dioxus::launch(App); + + Err(Error::message_here("Web server exited")) }