From 0143a4d479646a6240db48a51ec3e686d52bba20 Mon Sep 17 00:00:00 2001 From: Ginger Date: Sun, 12 Apr 2026 11:58:59 -0400 Subject: [PATCH] refactor: Fix remaining errors in `api/cient/message.rs` --- Cargo.lock | 51 +++++++++++------------------- Cargo.toml | 19 +++++------ src/api/client/message.rs | 8 +++-- src/service/server_keys/keypair.rs | 3 +- 4 files changed, 35 insertions(+), 46 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b045ddf65..4b4e7dee5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1755,7 +1755,6 @@ checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core 0.6.4", "serde", "sha2", "subtle", @@ -4242,8 +4241,6 @@ 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", ] @@ -4253,7 +4250,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166" dependencies = [ - "rand_chacha 0.9.0", + "rand_chacha", "rand_core 0.9.5", ] @@ -4268,16 +4265,6 @@ dependencies = [ "rand_core 0.10.0", ] -[[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" @@ -4340,7 +4327,7 @@ dependencies = [ "paste", "profiling", "rand 0.9.3", - "rand_chacha 0.9.0", + "rand_chacha", "simd_helpers", "thiserror 2.0.18", "v_frame", @@ -4508,7 +4495,7 @@ dependencies = [ [[package]] name = "ruma" version = "0.14.1" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "assign", "js_int", @@ -4527,7 +4514,7 @@ dependencies = [ [[package]] name = "ruma-appservice-api" version = "0.14.1" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "js_int", "ruma-common", @@ -4539,7 +4526,7 @@ dependencies = [ [[package]] name = "ruma-client-api" version = "0.22.1" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "as_variant", "assign", @@ -4561,20 +4548,20 @@ dependencies = [ [[package]] name = "ruma-common" version = "0.17.1" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "as_variant", "base64 0.22.1", "bytes", "date_header", "form_urlencoded", - "getrandom 0.2.17", + "getrandom 0.4.2", "http", "indexmap", "js_int", "konst", "percent-encoding", - "rand 0.8.5", + "rand 0.10.1", "regex", "ruma-identifiers-validation", "ruma-macros", @@ -4594,7 +4581,7 @@ dependencies = [ [[package]] name = "ruma-events" version = "0.32.1" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "as_variant", "indexmap", @@ -4615,7 +4602,7 @@ dependencies = [ [[package]] name = "ruma-federation-api" version = "0.13.1" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "bytes", "headers", @@ -4625,7 +4612,7 @@ dependencies = [ "js_int", "memchr", "mime", - "rand 0.8.5", + "rand 0.10.1", "ruma-common", "ruma-events", "ruma-signatures", @@ -4638,7 +4625,7 @@ dependencies = [ [[package]] name = "ruma-identifiers-validation" version = "0.12.0" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "js_int", "thiserror 2.0.18", @@ -4647,7 +4634,7 @@ dependencies = [ [[package]] name = "ruma-macros" version = "0.17.1" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "as_variant", "cfg-if", @@ -4663,7 +4650,7 @@ dependencies = [ [[package]] name = "ruma-push-gateway-api" version = "0.13.0" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "js_int", "ruma-common", @@ -4675,13 +4662,13 @@ dependencies = [ [[package]] name = "ruma-signatures" version = "0.19.0" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "base64 0.22.1", "ed25519-dalek", "memchr", "pkcs8", - "rand 0.8.5", + "rand 0.10.1", "ruma-common", "serde_json", "sha2", @@ -4691,7 +4678,7 @@ dependencies = [ [[package]] name = "ruma-state-res" version = "0.15.0" -source = "git+https://github.com/ruma/ruma.git?rev=3df2c7a208859a022ab3fee9dc822a5ab4ca9edf#3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +source = "git+https://github.com/ruma/ruma.git?rev=ce4708a2727f18d42ba83b1c262142e6ffd0f545#ce4708a2727f18d42ba83b1c262142e6ffd0f545" dependencies = [ "js_int", "ruma-common", @@ -5142,9 +5129,9 @@ dependencies = [ [[package]] name = "serde_html_form" -version = "0.2.8" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" +checksum = "0946d52b4b7e28823148aebbeceb901012c595ad737920d504fa8634bb099e6f" dependencies = [ "form_urlencoded", "indexmap", diff --git a/Cargo.toml b/Cargo.toml index 87b96677a..d5092a0c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -68,7 +68,7 @@ default-features = false version = "0.1.3" [workspace.dependencies.rand] -version = "0.10.0" +version = "0.10.1" # Used for the http request / response body type for Ruma endpoints used with reqwest [workspace.dependencies.bytes] @@ -167,7 +167,7 @@ version = "1.1.0" # Used for ruma wrapper [workspace.dependencies.serde_html_form] -version = "0.2.6" +version = "0.4.0" # Used for password hashing [workspace.dependencies.argon2] @@ -347,7 +347,7 @@ version = "1.1.1" [workspace.dependencies.ruma] # version = "0.14.1" git = "https://github.com/ruma/ruma.git" -rev = "3df2c7a208859a022ab3fee9dc822a5ab4ca9edf" +rev = "ce4708a2727f18d42ba83b1c262142e6ffd0f545" features = [ "appservice-api-c", "client-api", @@ -365,20 +365,21 @@ features = [ "unstable-msc3061", "unstable-msc3814", "unstable-msc3245", - "unstable-msc3381", # polls - "unstable-msc3489", # beacon / live location - "unstable-msc3930", # polls push rules + "unstable-msc3381", + "unstable-msc3489", + "unstable-msc3930", "unstable-msc4075", "unstable-msc4095", "unstable-msc4121", "unstable-msc4125", "unstable-msc4186", "unstable-msc4195", - "unstable-msc4203", # sending to-device events to appservices + "unstable-msc4203", "unstable-msc4310", "unstable-msc4380", - "unstable-msc4143", # livekit well_known response - "unstable-msc4439", # pgp_key in .well_known/matrix/support + "unstable-msc4143", + "unstable-msc4406", + "unstable-msc4439", "unstable-extensible-events", ] diff --git a/src/api/client/message.rs b/src/api/client/message.rs index 29e67a10c..60b374927 100644 --- a/src/api/client/message.rs +++ b/src/api/client/message.rs @@ -27,7 +27,7 @@ use ruma::{ api::{ Direction, client::{filter::RoomEventFilter, message::get_message_events}, - error::ErrorKind, + error::{ErrorKind, SenderIgnoredErrorData}, }, assign, events::{ @@ -325,7 +325,7 @@ where if server_ignored { // the sender's server is ignored, so ignore this event return Err(Error::BadRequest( - ErrorKind::SenderIgnored { sender: None }, + ErrorKind::SenderIgnored(SenderIgnoredErrorData::new()), "The sender's server is ignored by this server.", )); } @@ -334,7 +334,9 @@ where // the recipient of this PDU has the sender ignored, and we're not // configured to send ignored messages to clients return Err(Error::BadRequest( - ErrorKind::SenderIgnored { sender: Some(event.sender().to_owned()) }, + ErrorKind::SenderIgnored(SenderIgnoredErrorData::with_sender( + event.sender().to_owned(), + )), "You have ignored this sender.", )); } diff --git a/src/service/server_keys/keypair.rs b/src/service/server_keys/keypair.rs index 12eb2511e..700c48725 100644 --- a/src/service/server_keys/keypair.rs +++ b/src/service/server_keys/keypair.rs @@ -44,8 +44,7 @@ fn load(db: &Arc) -> Result> { } fn create(db: &Arc) -> Result<(String, Vec)> { - let keypair = Ed25519KeyPair::generate() - .map_err(|e| err!("Failed to generate new ed25519 keypair: {e:?}"))?; + let keypair = Ed25519KeyPair::generate(); let id = utils::rand::string(8); debug_info!("Generated new Ed25519 keypair: {id:?}");