diff --git a/Cargo.toml b/Cargo.toml index dc368fed0..cd10bf56c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,6 +87,7 @@ console = ["automation", "drive", "cache", "dep:crossterm", "dep:ratatui"] minimal = ["chat"] lightweight = ["chat", "tasks", "people"] full = ["chat", "people", "mail", "tasks", "calendar", "drive", "docs", "llm", "cache", "compliance"] +embed-ui = ["dep:rust-embed"] [dependencies] diesel_migrations = { workspace = true } @@ -215,7 +216,7 @@ scraper = { workspace = true } walkdir = { workspace = true } # Embedded static files -rust-embed = { workspace = true } +rust-embed = { workspace = true, optional = true } [dev-dependencies] mockito = { workspace = true } diff --git a/src/designer/workflow_canvas.rs b/src/designer/workflow_canvas.rs index 0d9958c73..4b19bf2d6 100644 --- a/src/designer/workflow_canvas.rs +++ b/src/designer/workflow_canvas.rs @@ -242,7 +242,7 @@ pub async fn workflow_designer_page( content = 'Parallel
Multiple branches'; break; case 'event': - content = 'Event
'; + content = 'Event
'; break; } diff --git a/src/email/htmx.rs b/src/email/htmx.rs index b8f3a16af..51754ffa8 100644 --- a/src/email/htmx.rs +++ b/src/email/htmx.rs @@ -873,4 +873,3 @@ pub async fn save_auto_responder( .to_string(), ) } -} diff --git a/src/embedded_ui.rs b/src/embedded_ui.rs index b290711cf..53428a4e6 100644 --- a/src/embedded_ui.rs +++ b/src/embedded_ui.rs @@ -1,16 +1,21 @@ +#[cfg(feature = "embed-ui")] use axum::{ body::Body, http::{header, Request, Response, StatusCode}, Router, }; +#[cfg(feature = "embed-ui")] use rust_embed::RustEmbed; +#[cfg(feature = "embed-ui")] use std::path::Path; +#[cfg(feature = "embed-ui")] #[derive(RustEmbed)] #[folder = "../botui/ui/suite/"] #[prefix = ""] struct EmbeddedUi; +#[cfg(feature = "embed-ui")] fn get_mime_type(path: &str) -> &'static str { let ext = Path::new(path) .extension() @@ -47,6 +52,7 @@ fn get_mime_type(path: &str) -> &'static str { } } +#[cfg(feature = "embed-ui")] async fn serve_embedded_file(req: Request) -> Response { let path = req.uri().path().trim_start_matches('/'); @@ -105,11 +111,13 @@ async fn serve_embedded_file(req: Request) -> Response { .unwrap() } +#[cfg(feature = "embed-ui")] pub fn embedded_ui_router() -> Router { use axum::routing::any; Router::new().fallback(any(serve_embedded_file)) } +#[cfg(feature = "embed-ui")] pub fn has_embedded_ui() -> bool { let has_index = EmbeddedUi::get("index.html").is_some(); if has_index { @@ -120,6 +128,7 @@ pub fn has_embedded_ui() -> bool { has_index } +#[cfg(feature = "embed-ui")] pub fn list_embedded_files() -> Vec { let files: Vec = EmbeddedUi::iter().map(|f| f.to_string()).collect(); log::debug!("Embedded UI contains {} files", files.len()); diff --git a/src/main.rs b/src/main.rs index 5117c8db4..1903e9a46 100644 --- a/src/main.rs +++ b/src/main.rs @@ -54,7 +54,6 @@ pub mod research; pub mod search; pub mod security; pub mod settings; -#[cfg(feature = "dashboards")] pub mod shared; #[cfg(feature = "sheet")] pub mod sheet;