diff --git a/Cargo.lock b/Cargo.lock index e042582..1fb584b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -341,7 +341,7 @@ dependencies = [ "hostname", "md-5", "pbkdf2", - "rand 0.8.5", + "rand", "ratatui", "reqwest", "rubato", @@ -1726,7 +1726,7 @@ dependencies = [ "bytes", "getrandom 0.3.4", "lru-slab", - "rand 0.9.2", + "rand", "ring", "rustc-hash", "rustls", @@ -1773,37 +1773,16 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "rand_chacha 0.9.0", + "rand_chacha", "rand_core 0.9.5", ] -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - [[package]] name = "rand_chacha" version = "0.9.0" diff --git a/Cargo.toml b/Cargo.toml index fc6c17a..8d52be8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,7 @@ hex = "0.4" base64 = "0.22" # Misc -rand = "0.8" +rand = "0.9" dirs = "5" clap = { version = "4", features = ["derive"] } anyhow = "1" diff --git a/src/queue/mod.rs b/src/queue/mod.rs index c479a7a..875836a 100644 --- a/src/queue/mod.rs +++ b/src/queue/mod.rs @@ -224,11 +224,11 @@ impl QueueManager { .filter(|&i| i != self.current_index) .collect(); if !remaining.is_empty() { - let mut rng = rand::thread_rng(); - self.current_index = remaining[rng.gen_range(0..remaining.len())]; + let mut rng = rand::rng(); + self.current_index = remaining[rng.random_range(0..remaining.len())]; } else if self.repeat == RepeatMode::All { - let mut rng = rand::thread_rng(); - self.current_index = rng.gen_range(0..self.queue.len() as i32); + let mut rng = rand::rng(); + self.current_index = rng.random_range(0..self.queue.len() as i32); } else { return None; } @@ -309,7 +309,7 @@ impl QueueManager { .filter(|(i, _)| *i != self.current_index as usize) .map(|(_, s)| s.clone()) .collect(); - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); others.shuffle(&mut rng); if let Some(cur) = current { self.queue = std::iter::once(cur).chain(others).collect(); diff --git a/src/subsonic/auth.rs b/src/subsonic/auth.rs index 52fb4c8..a0f0d02 100644 --- a/src/subsonic/auth.rs +++ b/src/subsonic/auth.rs @@ -7,8 +7,8 @@ pub const CLIENT_NAME: &str = "CLIMusicPlayer"; /// Generate authentication parameters using the token+salt method. pub fn auth_params(username: &str, password: &str) -> HashMap { - let salt: String = rand::thread_rng() - .sample_iter(&rand::distributions::Alphanumeric) + let salt: String = rand::rng() + .sample_iter(&rand::distr::Alphanumeric) .take(32) .map(char::from) .collect();