Bump Ruma for CanonicalJson property name optimizations.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-11-02 03:56:39 +00:00
parent a14556da97
commit f59d62c01c
13 changed files with 57 additions and 53 deletions

View File

@@ -5,7 +5,7 @@ use http::{HeaderValue, header::AUTHORIZATION};
use ipaddress::IPAddress;
use reqwest::{Client, Method, Request, Response, Url};
use ruma::{
CanonicalJsonObject, CanonicalJsonValue, ServerName, ServerSigningKeyId,
CanonicalJsonName, CanonicalJsonObject, CanonicalJsonValue, ServerName, ServerSigningKeyId,
api::{
EndpointError, IncomingResponse, MatrixVersion, OutgoingRequest, SendAccessToken,
SupportedVersions, client::error::Error as RumaError,
@@ -232,7 +232,7 @@ fn handle_error(
#[implement(super::Service)]
fn sign_request(&self, http_request: &mut http::Request<Vec<u8>>, dest: &ServerName) {
type Member = (String, Value);
type Member = (CanonicalJsonName, Value);
type Value = CanonicalJsonValue;
type Object = CanonicalJsonObject;

View File

@@ -175,7 +175,7 @@ pub async fn join_remote(
};
join_event_stub.insert(
"origin".to_owned(),
"origin".into(),
CanonicalJsonValue::String(
self.services
.globals
@@ -185,7 +185,7 @@ pub async fn join_remote(
),
);
join_event_stub.insert(
"origin_server_ts".to_owned(),
"origin_server_ts".into(),
CanonicalJsonValue::Integer(
utils::millis_since_unix_epoch()
.try_into()
@@ -193,7 +193,7 @@ pub async fn join_remote(
),
);
join_event_stub.insert(
"content".to_owned(),
"content".into(),
to_canonical_value(RoomMemberEventContent {
displayname: self
.services
@@ -306,7 +306,7 @@ pub async fn join_remote(
.expect("we created a valid pdu")
.as_object_mut()
.expect("we created a valid pdu")
.insert(remote_server.to_string(), signature.clone());
.insert(remote_server.as_str().into(), signature.clone());
},
| Err(e) => {
warn!(
@@ -649,7 +649,7 @@ pub async fn join_local(
.and_then(|s| OwnedUserId::try_from(s.unwrap_or_default()).ok());
join_event_stub.insert(
"origin".to_owned(),
"origin".into(),
CanonicalJsonValue::String(
self.services
.globals
@@ -659,7 +659,7 @@ pub async fn join_local(
),
);
join_event_stub.insert(
"origin_server_ts".to_owned(),
"origin_server_ts".into(),
CanonicalJsonValue::Integer(
utils::millis_since_unix_epoch()
.try_into()
@@ -667,7 +667,7 @@ pub async fn join_local(
),
);
join_event_stub.insert(
"content".to_owned(),
"content".into(),
to_canonical_value(RoomMemberEventContent {
displayname: self
.services

View File

@@ -290,7 +290,7 @@ async fn remote_leave(&self, user_id: &UserId, room_id: &RoomId) -> Result {
// TODO: Is origin needed?
leave_event_stub.insert(
"origin".to_owned(),
"origin".into(),
CanonicalJsonValue::String(
self.services
.globals
@@ -300,7 +300,7 @@ async fn remote_leave(&self, user_id: &UserId, room_id: &RoomId) -> Result {
),
);
leave_event_stub.insert(
"origin_server_ts".to_owned(),
"origin_server_ts".into(),
CanonicalJsonValue::Integer(
utils::millis_since_unix_epoch()
.try_into()

View File

@@ -68,7 +68,7 @@ impl Service {
.map_err(|e| err!(Request(InvalidParam("Thread root pdu not found: {e:?}"))))?;
if let CanonicalJsonValue::Object(unsigned) = root_pdu_json
.entry("unsigned".to_owned())
.entry("unsigned".into())
.or_insert_with(|| CanonicalJsonValue::Object(BTreeMap::default()))
{
if let Some(mut relations) = unsigned
@@ -85,7 +85,7 @@ impl Service {
let content = serde_json::to_value(relations).expect("to_value always works");
unsigned.insert(
"m.relations".to_owned(),
"m.relations".into(),
json!({ "m.thread": content })
.try_into()
.expect("thread is valid json"),
@@ -101,7 +101,7 @@ impl Service {
let content = serde_json::to_value(relations).expect("to_value always works");
unsigned.insert(
"m.relations".to_owned(),
"m.relations".into(),
json!({ "m.thread": content })
.try_into()
.expect("thread is valid json"),

View File

@@ -106,7 +106,7 @@ where
// clients can easily interpret things like membership changes
if let Some(state_key) = pdu.state_key() {
if let CanonicalJsonValue::Object(unsigned) = pdu_json
.entry("unsigned".to_owned())
.entry("unsigned".into())
.or_insert_with(|| CanonicalJsonValue::Object(BTreeMap::default()))
{
if let Ok(shortstatehash) = self
@@ -122,7 +122,7 @@ where
.await
{
unsigned.insert(
"prev_content".to_owned(),
"prev_content".into(),
CanonicalJsonValue::Object(
utils::to_canonical_object(prev_state.get_content_as_value())
.map_err(|e| {
@@ -133,11 +133,11 @@ where
),
);
unsigned.insert(
String::from("prev_sender"),
"prev_sender".into(),
CanonicalJsonValue::String(prev_state.sender().to_string()),
);
unsigned.insert(
String::from("replaces_state"),
"replaces_state".into(),
CanonicalJsonValue::String(prev_state.event_id().to_string()),
);
}

View File

@@ -39,7 +39,7 @@ where
let mut keys = PubKeyMap::new();
for (server, key_ids) in batch {
let pubkeys = self.get_pubkeys_for(server, key_ids).await;
keys.insert(server.into(), pubkeys);
keys.insert(server.as_str().into(), pubkeys);
}
keys
@@ -53,7 +53,7 @@ where
let mut keys = PubKeys::new();
for key_id in key_ids {
if let Ok(verify_key) = self.get_verify_key(origin, key_id).await {
keys.insert(key_id.into(), verify_key.key);
keys.insert(key_id.as_str().into(), verify_key.key);
}
}
@@ -71,6 +71,7 @@ pub async fn get_verify_key(
.server
.config
.query_trusted_key_servers_first;
let notary_only = self
.services
.server