refactor: Fix errors in api/server/send.rs

This commit is contained in:
Ginger
2026-04-13 12:59:08 -04:00
parent 30cb7b15a9
commit a3c08a491a
+32 -22
View File
@@ -24,10 +24,10 @@
use http::StatusCode;
use itertools::Itertools;
use ruma::{
CanonicalJsonObject, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId, OwnedUserId,
RoomId, ServerName, UserId,
CanonicalJsonObject, EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId,
OwnedUserId, RoomId, ServerName, UserId,
api::{
client::error::{ErrorKind, ErrorKind::LimitExceeded},
error::{ErrorKind, LimitExceededErrorData},
federation::transactions::{
edu::{
DeviceListUpdateContent, DirectDeviceContent, Edu, PresenceContent,
@@ -116,7 +116,7 @@ async fn wait_for_result(
{
// Took too long, return 429 to encourage the sender to try again
return Err(Error::BadRequest(
LimitExceeded { retry_after: None },
ErrorKind::LimitExceeded(LimitExceededErrorData::new()),
"Transaction is being still being processed. Please try again later.",
));
}
@@ -187,12 +187,12 @@ async fn process_inbound_transaction(
"Finished processing transaction"
);
let response = send_transaction_message::v1::Response {
pdus: results
let response = send_transaction_message::v1::Response::new(
results
.into_iter()
.map(|(e, r)| (e, r.map_err(error::sanitized_message)))
.collect(),
};
);
services
.transactions
@@ -290,7 +290,7 @@ async fn build_local_dag(
.expect("prev_events must be an array")
.iter()
.map(|v| {
OwnedEventId::parse(v.as_str().expect("prev_events values must be strings"))
EventId::parse(v.as_str().expect("prev_events values must be strings"))
.expect("prev_events must be valid event IDs")
})
.collect::<HashSet<OwnedEventId>>();
@@ -318,7 +318,7 @@ async fn handle_room(
.rooms
.event_handler
.mutex_federation
.lock(&room_id)
.lock(room_id.as_str())
.await;
let room_id = &room_id;
@@ -514,10 +514,14 @@ async fn handle_edu_receipt_room_user(
services
.rooms
.read_receipt
.readreceipt_update(user_id, room_id, &ReceiptEvent {
content: ReceiptEventContent(content.into()),
room_id: room_id.to_owned(),
})
.readreceipt_update(
user_id,
room_id,
&ReceiptEvent::new(
room_id.to_owned(),
ReceiptEventContent::from_iter(content),
),
)
.await;
})
.await;
@@ -616,6 +620,7 @@ async fn handle_edu_direct_to_device(
ref ev_type,
ref message_id,
messages,
..
} = content;
if sender.server_name() != origin {
@@ -699,14 +704,17 @@ async fn handle_edu_direct_to_device_event(
services
.users
.all_device_ids(target_user_id)
.for_each(|target_device_id| {
services.users.add_to_device_event(
sender,
target_user_id,
target_device_id,
ev_type,
event.clone(),
)
.for_each(async |target_device_id| {
services
.users
.add_to_device_event(
sender,
target_user_id,
&target_device_id,
ev_type,
event.clone(),
)
.await
})
.await;
},
@@ -719,7 +727,9 @@ async fn handle_edu_signing_key_update(
origin: &ServerName,
content: SigningKeyUpdateContent,
) {
let SigningKeyUpdateContent { user_id, master_key, self_signing_key } = content;
let SigningKeyUpdateContent {
user_id, master_key, self_signing_key, ..
} = content;
if user_id.server_name() != origin {
debug_warn!(