mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-03 11:57:07 +02:00
Skip the prompt when the email was once provided
This commit is contained in:
parent
7b49c30d8c
commit
8bc8484e95
1 changed files with 25 additions and 16 deletions
|
@ -28,6 +28,7 @@ use tracing::level_filters::LevelFilter;
|
||||||
use tracing_subscriber::layer::SubscriberExt as _;
|
use tracing_subscriber::layer::SubscriberExt as _;
|
||||||
use tracing_subscriber::Layer;
|
use tracing_subscriber::Layer;
|
||||||
|
|
||||||
|
const SKIP_EMAIL_FILENAME: &str = "skip-email";
|
||||||
const PORTAL_ID: &str = "25945010";
|
const PORTAL_ID: &str = "25945010";
|
||||||
const FORM_GUID: &str = "991e2a09-77c2-4428-9242-ebf26bfc6c64";
|
const FORM_GUID: &str = "991e2a09-77c2-4428-9242-ebf26bfc6c64";
|
||||||
|
|
||||||
|
@ -99,22 +100,6 @@ async fn try_main() -> anyhow::Result<()> {
|
||||||
|
|
||||||
std::panic::set_hook(Box::new(on_panic));
|
std::panic::set_hook(Box::new(on_panic));
|
||||||
|
|
||||||
opt.contact_email = match opt.contact_email.as_ref().map(|email| email.as_deref()) {
|
|
||||||
Some(Some("false")) | None => prompt_for_contact_email().await.map(Some)?,
|
|
||||||
Some(Some("")) | Some(None) => None,
|
|
||||||
Some(Some(email)) => Some(Some(email.to_string())),
|
|
||||||
};
|
|
||||||
|
|
||||||
if let Some(Some(email)) = opt.contact_email.as_ref() {
|
|
||||||
let email = email.clone();
|
|
||||||
let _ = tokio::spawn(async move {
|
|
||||||
dbg!(&email);
|
|
||||||
if let Err(err) = register_contact_email(&email).await {
|
|
||||||
eprintln!("Failed to register email: {}", err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
anyhow::ensure!(
|
anyhow::ensure!(
|
||||||
!(cfg!(windows) && opt.experimental_reduce_indexing_memory_usage),
|
!(cfg!(windows) && opt.experimental_reduce_indexing_memory_usage),
|
||||||
"The `experimental-reduce-indexing-memory-usage` flag is not supported on Windows"
|
"The `experimental-reduce-indexing-memory-usage` flag is not supported on Windows"
|
||||||
|
@ -146,6 +131,30 @@ async fn try_main() -> anyhow::Result<()> {
|
||||||
|
|
||||||
let (index_scheduler, auth_controller) = setup_meilisearch(&opt)?;
|
let (index_scheduler, auth_controller) = setup_meilisearch(&opt)?;
|
||||||
|
|
||||||
|
// We ask users their emails just after the data.ms is created
|
||||||
|
let skip_email_path = opt.db_path.join(SKIP_EMAIL_FILENAME);
|
||||||
|
opt.contact_email = match opt.contact_email.as_ref().map(|email| email.as_deref()) {
|
||||||
|
Some(Some("false")) | None if !skip_email_path.exists() => {
|
||||||
|
prompt_for_contact_email().await.map(Some)?
|
||||||
|
}
|
||||||
|
Some(Some(email)) if !skip_email_path.exists() => Some(Some(email.to_string())),
|
||||||
|
_otherwise => None,
|
||||||
|
};
|
||||||
|
|
||||||
|
if let Some(Some(email)) = opt.contact_email.as_ref() {
|
||||||
|
let email = email.clone();
|
||||||
|
// We spawn a task to register the email and create the skip email
|
||||||
|
// file to avoid blocking the Meilisearch launch further.
|
||||||
|
let _ = tokio::spawn(async move {
|
||||||
|
if let Err(e) = tokio::fs::File::create_new(skip_email_path).await {
|
||||||
|
eprintln!("Failed to create skip email file: {e}");
|
||||||
|
}
|
||||||
|
if let Err(err) = register_contact_email(&email).await {
|
||||||
|
eprintln!("Failed to register email: {}", err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let analytics =
|
let analytics =
|
||||||
analytics::Analytics::new(&opt, index_scheduler.clone(), auth_controller.clone()).await;
|
analytics::Analytics::new(&opt, index_scheduler.clone(), auth_controller.clone()).await;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue