From 2672670c817f8af18ea9452091e6f6379ad9f1ab Mon Sep 17 00:00:00 2001 From: Guillermo Loaysa Date: Sun, 21 Sep 2025 12:40:18 +0200 Subject: [PATCH 1/3] fix: normalize decimal separator when parsing track duration --- src/cmd/discord/mod.rs | 4 +++- src/cmd/now.rs | 1 + src/main.rs | 1 + src/music/mod.rs | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cmd/discord/mod.rs b/src/cmd/discord/mod.rs index 2b05e88..909e61e 100644 --- a/src/cmd/discord/mod.rs +++ b/src/cmd/discord/mod.rs @@ -63,7 +63,9 @@ async fn update_presence(client: &mut DiscordIpcClient, state: &mut ActivityStat return Ok(()); } - let position = position.parse::()?; + let position = position + .replace(",", ".") + .parse::()?; let track = music::get_current_track() .await? diff --git a/src/cmd/now.rs b/src/cmd/now.rs index 7a2a3c9..a3a445b 100644 --- a/src/cmd/now.rs +++ b/src/cmd/now.rs @@ -98,6 +98,7 @@ async fn update_state( .map(|s| s.trim().to_owned()); let player_position = player_position + .replace(",", ".") .parse::() .ok() .map(|p| p + time_latency); diff --git a/src/main.rs b/src/main.rs index 8e17b92..0eb1a25 100644 --- a/src/main.rs +++ b/src/main.rs @@ -116,6 +116,7 @@ async fn concise_now_playing() -> Result<()> { .next() .ok_or_else(|| eyre!("Could not obtain track duration"))? .to_owned() + .replace(",", ".") .parse::()?; println!( diff --git a/src/music/mod.rs b/src/music/mod.rs index 86356eb..f4b6f3d 100644 --- a/src/music/mod.rs +++ b/src/music/mod.rs @@ -161,6 +161,7 @@ pub async fn get_current_track() -> Result> { .next() .ok_or_else(|| eyre!("Could not obtain track duration"))? .to_owned() + .replace(",", ".") .parse::()?; Ok(Some(Track { From 2d15894143609b858b14c4f1b40706ca77cb186e Mon Sep 17 00:00:00 2001 From: Guillermo Loaysa Date: Sun, 21 Sep 2025 12:52:32 +0200 Subject: [PATCH 2/3] chore: fix format --- src/cmd/discord/mod.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/cmd/discord/mod.rs b/src/cmd/discord/mod.rs index 909e61e..e563528 100644 --- a/src/cmd/discord/mod.rs +++ b/src/cmd/discord/mod.rs @@ -63,9 +63,7 @@ async fn update_presence(client: &mut DiscordIpcClient, state: &mut ActivityStat return Ok(()); } - let position = position - .replace(",", ".") - .parse::()?; + let position = position.replace(",", ".").parse::()?; let track = music::get_current_track() .await? From 09eee033bb48fb85e9a976438a36c82158940af4 Mon Sep 17 00:00:00 2001 From: Ryan Cao <70191398+ryanccn@users.noreply.github.com> Date: Sun, 21 Sep 2025 21:06:49 +0800 Subject: [PATCH 3/3] cargo clippy --fix --- src/cmd/discord/mod.rs | 2 +- src/cmd/now.rs | 2 +- src/main.rs | 2 +- src/music/mod.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cmd/discord/mod.rs b/src/cmd/discord/mod.rs index e563528..082369f 100644 --- a/src/cmd/discord/mod.rs +++ b/src/cmd/discord/mod.rs @@ -63,7 +63,7 @@ async fn update_presence(client: &mut DiscordIpcClient, state: &mut ActivityStat return Ok(()); } - let position = position.replace(",", ".").parse::()?; + let position = position.replace(',', ".").parse::()?; let track = music::get_current_track() .await? diff --git a/src/cmd/now.rs b/src/cmd/now.rs index a3a445b..a660574 100644 --- a/src/cmd/now.rs +++ b/src/cmd/now.rs @@ -98,7 +98,7 @@ async fn update_state( .map(|s| s.trim().to_owned()); let player_position = player_position - .replace(",", ".") + .replace(',', ".") .parse::() .ok() .map(|p| p + time_latency); diff --git a/src/main.rs b/src/main.rs index 0eb1a25..264d994 100644 --- a/src/main.rs +++ b/src/main.rs @@ -116,7 +116,7 @@ async fn concise_now_playing() -> Result<()> { .next() .ok_or_else(|| eyre!("Could not obtain track duration"))? .to_owned() - .replace(",", ".") + .replace(',', ".") .parse::()?; println!( diff --git a/src/music/mod.rs b/src/music/mod.rs index f4b6f3d..38eaa81 100644 --- a/src/music/mod.rs +++ b/src/music/mod.rs @@ -161,7 +161,7 @@ pub async fn get_current_track() -> Result> { .next() .ok_or_else(|| eyre!("Could not obtain track duration"))? .to_owned() - .replace(",", ".") + .replace(',', ".") .parse::()?; Ok(Some(Track {