diff --git a/crates/core/config/src/lib.rs b/crates/core/config/src/lib.rs index 9bffd5265..c2e35bd76 100644 --- a/crates/core/config/src/lib.rs +++ b/crates/core/config/src/lib.rs @@ -337,6 +337,7 @@ pub struct Settings { pub files: Files, pub features: Features, pub sentry: Sentry, + pub production: bool, } impl Settings { @@ -364,7 +365,14 @@ pub async fn read() -> Config { #[cached(time = 30)] pub async fn config() -> Settings { - read().await.try_deserialize::().unwrap() + let mut config = read().await.try_deserialize::().unwrap(); + + // auto-detect production nodes + if config.hosts.api.contains("https") && config.hosts.api.contains("revolt.chat") { + config.production = true; + } + + config } /// Configure logging and common Rust variables diff --git a/crates/core/database/src/drivers/mod.rs b/crates/core/database/src/drivers/mod.rs index 7162777e9..11fd58220 100644 --- a/crates/core/database/src/drivers/mod.rs +++ b/crates/core/database/src/drivers/mod.rs @@ -120,26 +120,50 @@ impl Database { use_tls: config.api.smtp.use_tls, }, expiry: Default::default(), - templates: Templates { - verify: Template { - title: "Verify your Revolt account.".into(), - text: include_str!("../../templates/verify.txt").into(), - url: format!("{}/login/verify/", config.hosts.app), - html: Some(include_str!("../../templates/verify.html").into()), - }, - reset: Template { - title: "Reset your Revolt password.".into(), - text: include_str!("../../templates/reset.txt").into(), - url: format!("{}/login/reset/", config.hosts.app), - html: Some(include_str!("../../templates/reset.html").into()), - }, - deletion: Template { - title: "Confirm account deletion.".into(), - text: include_str!("../../templates/deletion.txt").into(), - url: format!("{}/delete/", config.hosts.app), - html: Some(include_str!("../../templates/deletion.html").into()), - }, - welcome: None, + templates: if config.production { + Templates { + verify: Template { + title: "Verify your Revolt account.".into(), + text: include_str!("../../templates/verify.txt").into(), + url: format!("{}/login/verify/", config.hosts.app), + html: Some(include_str!("../../templates/verify.html").into()), + }, + reset: Template { + title: "Reset your Revolt password.".into(), + text: include_str!("../../templates/reset.txt").into(), + url: format!("{}/login/reset/", config.hosts.app), + html: Some(include_str!("../../templates/reset.html").into()), + }, + deletion: Template { + title: "Confirm account deletion.".into(), + text: include_str!("../../templates/deletion.txt").into(), + url: format!("{}/delete/", config.hosts.app), + html: Some(include_str!("../../templates/deletion.html").into()), + }, + welcome: None, + } + } else { + Templates { + verify: Template { + title: "Verify your account.".into(), + text: include_str!("../../templates/verify.whitelabel.txt").into(), + url: format!("{}/login/verify/", config.hosts.app), + html: None, + }, + reset: Template { + title: "Reset your password.".into(), + text: include_str!("../../templates/reset.whitelabel.txt").into(), + url: format!("{}/login/reset/", config.hosts.app), + html: None, + }, + deletion: Template { + title: "Confirm account deletion.".into(), + text: include_str!("../../templates/deletion.whitelabel.txt").into(), + url: format!("{}/delete/", config.hosts.app), + html: None, + }, + welcome: None, + } }, } } else { diff --git a/crates/core/database/templates/deletion.html b/crates/core/database/templates/deletion.html index ef19ee40f..d25138838 100644 --- a/crates/core/database/templates/deletion.html +++ b/crates/core/database/templates/deletion.html @@ -1,464 +1,93 @@ - - - - - - + + + + + - - + + -