From 53123acff8a921ac06bedf077820bf7ba813f0d6 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 d2d0bb5a4..bbea1fc7f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1799,7 +1799,6 @@ checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core 0.6.4", "serde", "sha2 0.10.9", "subtle", @@ -4295,8 +4294,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", ] @@ -4306,7 +4303,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", ] @@ -4321,16 +4318,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" @@ -4393,7 +4380,7 @@ dependencies = [ "paste", "profiling", "rand 0.9.3", - "rand_chacha 0.9.0", + "rand_chacha", "simd_helpers", "thiserror 2.0.18", "v_frame", @@ -4561,7 +4548,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", @@ -4580,7 +4567,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", @@ -4592,7 +4579,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", @@ -4614,20 +4601,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", @@ -4647,7 +4634,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", @@ -4668,7 +4655,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", @@ -4678,7 +4665,7 @@ dependencies = [ "js_int", "memchr", "mime", - "rand 0.8.5", + "rand 0.10.1", "ruma-common", "ruma-events", "ruma-signatures", @@ -4691,7 +4678,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", @@ -4700,7 +4687,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", @@ -4716,7 +4703,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", @@ -4728,13 +4715,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 0.10.9", @@ -4744,7 +4731,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", @@ -5195,9 +5182,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 525b86464..ad6b189d2 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:?}");