From 396697a6f57ab2b121eadeff3c2b89733e27ecb2 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Sun, 18 Jun 2023 12:58:34 +0200 Subject: [PATCH] feat: slightly changed telemetry checking behavior --- src/games/genshin/states.rs | 15 ++++++++++++++- src/games/honkai/states.rs | 15 ++++++++++++++- src/games/star_rail/states.rs | 15 ++++++++++++++- 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/games/genshin/states.rs b/src/games/genshin/states.rs index 8ad7dab..b3df307 100644 --- a/src/games/genshin/states.rs +++ b/src/games/genshin/states.rs @@ -150,7 +150,20 @@ impl LauncherState { } // Check telemetry servers - if telemetry::is_disabled(params.game_edition)?.is_some() { + let disabled = telemetry::is_disabled(params.game_edition) + + // Return true if there's no domain name resolved, or false otherwise + .map(|result| result.is_none()) + + // And return true if there's an error happened during domain name resolving + // FIXME: might not be a good idea? Idk + .unwrap_or_else(|err| { + tracing::warn!("Failed to check telemetry servers: {err}. Assuming they're disabled"); + + true + }); + + if !disabled { return Ok(Self::TelemetryNotDisabled); } diff --git a/src/games/honkai/states.rs b/src/games/honkai/states.rs index 3694779..c790619 100644 --- a/src/games/honkai/states.rs +++ b/src/games/honkai/states.rs @@ -85,7 +85,20 @@ impl LauncherState { } // Check telemetry servers - if telemetry::is_disabled()?.is_some() { + let disabled = telemetry::is_disabled(params.game_edition) + + // Return true if there's no domain name resolved, or false otherwise + .map(|result| result.is_none()) + + // And return true if there's an error happened during domain name resolving + // FIXME: might not be a good idea? Idk + .unwrap_or_else(|err| { + tracing::warn!("Failed to check telemetry servers: {err}. Assuming they're disabled"); + + true + }); + + if !disabled { return Ok(Self::TelemetryNotDisabled); } diff --git a/src/games/star_rail/states.rs b/src/games/star_rail/states.rs index a5cd922..b68ecc4 100644 --- a/src/games/star_rail/states.rs +++ b/src/games/star_rail/states.rs @@ -84,7 +84,20 @@ impl LauncherState { } // Check telemetry servers - if telemetry::is_disabled(params.game_edition)?.is_some() { + let disabled = telemetry::is_disabled(params.game_edition) + + // Return true if there's no domain name resolved, or false otherwise + .map(|result| result.is_none()) + + // And return true if there's an error happened during domain name resolving + // FIXME: might not be a good idea? Idk + .unwrap_or_else(|err| { + tracing::warn!("Failed to check telemetry servers: {err}. Assuming they're disabled"); + + true + }); + + if !disabled { return Ok(Self::TelemetryNotDisabled); }