diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 0a21145489..c4a11ece45 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -69,7 +69,7 @@ tauri-plugin-clipboard-manager = "2.3.2" # wry/tauri-runtime-wry/webkit2gtk. # Pinned to =2.0.0 because 2.1.0+ introduced an unconditional call to # tauri::webview_version() which is gated behind tauri's `wry` feature. -tauri-plugin-devtools = { version = "=2.0.0", default-features = false } +tauri-plugin-devtools = { version = "=2.0.0", default-features = false, optional = true } [target.'cfg(target_os = "windows")'.dependencies] enigo = "0.5.0" @@ -135,6 +135,9 @@ wry = ["tauri/wry", "dep:webkit2gtk"] updater = ["dep:tauri-plugin-updater"] # CEF (Chromium) runtime. Build with --no-default-features --features cef. cef = ["dep:tauri-runtime-cef", "dep:cef"] +# CrabNebula devtools. Off by default: its aggregator retains every metadata record for the +# session, which costs hundreds of MB per minute once tauri-plugin-log feeds it. +devtools = ["dep:tauri-plugin-devtools"] [patch.crates-io] tauri-typegen = { git = "https://github.com/SableClient/tauri-typegen", branch = "fix/nondeterministic-generation-cache" } diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index b33a631fb5..49cc521395 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -415,13 +415,22 @@ pub fn run() { #[cfg(debug_assertions)] { - let (log_plugin, _level, logger) = tauri_plugin_log::Builder::default() - .level(log::LevelFilter::Info) - .split(app.handle())?; - let mut devtools = tauri_plugin_devtools::Builder::default(); - devtools.attach_logger(logger); - app.handle().plugin(devtools.init())?; - app.handle().plugin(log_plugin)?; + #[cfg(feature = "devtools")] + { + let (log_plugin, _level, logger) = tauri_plugin_log::Builder::default() + .level(log::LevelFilter::Info) + .split(app.handle())?; + let mut devtools = tauri_plugin_devtools::Builder::default(); + devtools.attach_logger(logger); + app.handle().plugin(devtools.init())?; + app.handle().plugin(log_plugin)?; + } + #[cfg(not(feature = "devtools"))] + app.handle().plugin( + tauri_plugin_log::Builder::default() + .level(log::LevelFilter::Info) + .build(), + )?; } Ok(())