From 56afe2688d445b0d3c229d26a9e6670091c6120c Mon Sep 17 00:00:00 2001 From: renovate-bot Date: Sat, 3 May 2025 00:01:39 +0000 Subject: [PATCH 1/3] Update Rust crate rand to 0.9.0 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 848a69a..cc45fff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ tokio-stream = "0.1.15" # Utils base64 = "0.22.0" const_format = "0.2.32" -rand = "0.8.5" +rand = "0.9.0" validator = { version = "0.17.0", features = ["derive"] } # Http client reqwest = "0.11.24" From cf359b495054b5f786f5272112391cbab9b650f3 Mon Sep 17 00:00:00 2001 From: Adrien Date: Mon, 9 Jun 2025 14:18:40 +0200 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=90=9B=20Fix=20issues=20raised=20by?= =?UTF-8?q?=20clippy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.rs | 8 ++++---- src/infrastructure/services/random_svg_generators.rs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.rs b/build.rs index 7d0ad5a..08b702c 100644 --- a/build.rs +++ b/build.rs @@ -124,7 +124,7 @@ fn export_variables(tasks: Vec) { "#[allow(dead_code)]\nmod {} {{\n", task.module_name )) { - println!("{}", err); + println!("{err}"); return; }; @@ -143,14 +143,14 @@ fn export_variables(tasks: Vec) { } for variable in variables { - if let Err(err) = dst_file.write_fmt(format_args!(" pub {}\n", variable)) { - println!("{}", err); + if let Err(err) = dst_file.write_fmt(format_args!(" pub {variable}\n")) { + println!("{err}"); break; } } if let Err(err) = dst_file.write(b"}\n") { - println!("{}", err); + println!("{err}"); }; } } diff --git a/src/infrastructure/services/random_svg_generators.rs b/src/infrastructure/services/random_svg_generators.rs index 97e98d2..5fd862a 100644 --- a/src/infrastructure/services/random_svg_generators.rs +++ b/src/infrastructure/services/random_svg_generators.rs @@ -3,7 +3,7 @@ use std::future::Future; use std::sync::OnceLock; use std::{collections::HashMap, future::IntoFuture}; -use rand::distributions::{Alphanumeric, DistString}; +use rand::distr::{Alphanumeric, SampleString}; use reqwest::Result as RequestResult; use tracing::error; @@ -124,7 +124,7 @@ async fn fetch_dicebear_svg( // TODO: Use configuration file let url = "dicebear.tools.adrien.run"; - let seed = Alphanumeric.sample_string(&mut rand::thread_rng(), 16); + let seed = Alphanumeric.sample_string(&mut rand::rng(), 16); let type_str = r#type.to_string(); let url = format!( "https://{url}/8.x/{type_str}/svg?seed={seed}&randomizeIds=true{}{}", From bf6c3d5cb09743d25eb5c9ded91ff466e7a353b7 Mon Sep 17 00:00:00 2001 From: Adrien Date: Sun, 13 Jul 2025 20:43:23 +0200 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=90=9B=20Apply=20getrandom=20requirem?= =?UTF-8?q?ents=20to=20support=20wasm-unknown-unknown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://docs.rs/getrandom/latest/getrandom/#webassembly-support --- Cargo.toml | 9 ++++++++- Dockerfile | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index cc45fff..502094d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ tokio-stream = "0.1.15" # Utils base64 = "0.22.0" const_format = "0.2.32" -rand = "0.9.0" +rand = "0.9.1" validator = { version = "0.17.0", features = ["derive"] } # Http client reqwest = "0.11.24" @@ -51,6 +51,9 @@ dioxus-free-icons = { version = "0.9", features = ["ionicons", "font-awesome-sol modx = "0.1.4" [target.'cfg(target_family = "wasm")'.dependencies] +# Utils +getrandom = { version = "0.3.2", features = ["wasm_js"] } + # Logging/tracing tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } tracing-web = "0.1.3" @@ -65,6 +68,7 @@ matrix-sdk = { git = "https://github.com/matrix-org/matrix-rust-sdk.git", rev = [target.'cfg(not(target_family = "wasm"))'.dependencies] # Utils time = "0.3.36" +getrandom = { version = "0.3.2" } # Logging/tracing tracing-subscriber = { version = "0.3.18", features = ["env-filter", "time"] } @@ -75,6 +79,9 @@ dioxus = { version = "0.6.3", features = ["desktop"] } # Matrix matrix-sdk = { git = "https://github.com/matrix-org/matrix-rust-sdk.git", rev = "fa6066b8", default-features = false, features = ["rustls-tls"] } +[target.wasm32-unknown-unknown] +rustflags = ['--cfg', 'getrandom_backend="wasm_js"'] + [build-dependencies] regex = "1.10.3" diff --git a/Dockerfile b/Dockerfile index b45681a..b89aebe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,8 @@ RUN apt update \ COPY . . +# Workaround waiting for the dioxus 0.7 release (cf. https://github.com/DioxusLabs/dioxus/issues/4238) +ENV RUSTFLAGS="--cfg getrandom_backend=\"wasm_js\"" RUN dx build -r --platform web -- -j ${JOBS_NB}