optimize with SmallString; consolidate related re-exports

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2025-02-08 00:16:37 +00:00 committed by strawberry
commit b872f8e593
39 changed files with 113 additions and 96 deletions
src/api/client/sync

View file

@ -441,7 +441,7 @@ async fn handle_left_room(
kind: RoomMember,
content: serde_json::from_str(r#"{"membership":"leave"}"#)
.expect("this is valid JSON"),
state_key: Some(sender_user.to_string()),
state_key: Some(sender_user.as_str().into()),
unsigned: None,
// The following keys are dropped on conversion
room_id: room_id.clone(),

View file

@ -29,7 +29,7 @@ use ruma::{
TimelineEventType::*,
},
serde::Raw,
uint, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId, OwnedUserId, RoomId, UInt,
uint, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedRoomId, RoomId, UInt, UserId,
};
use service::rooms::read_receipt::pack_receipts;
@ -258,12 +258,9 @@ pub(crate) async fn sync_events_v4_route(
continue;
};
if pdu.kind == RoomMember {
if let Some(state_key) = &pdu.state_key {
let user_id =
OwnedUserId::parse(state_key.clone()).map_err(|_| {
Error::bad_database("Invalid UserId in member PDU.")
})?;
if let Some(Ok(user_id)) =
pdu.state_key.as_deref().map(UserId::parse)
{
if user_id == *sender_user {
continue;
}
@ -275,18 +272,18 @@ pub(crate) async fn sync_events_v4_route(
if !share_encrypted_room(
&services,
sender_user,
&user_id,
user_id,
Some(room_id),
)
.await
{
device_list_changes.insert(user_id);
device_list_changes.insert(user_id.to_owned());
}
},
| MembershipState::Leave => {
// Write down users that have left encrypted rooms we
// are in
left_encrypted_users.insert(user_id);
left_encrypted_users.insert(user_id.to_owned());
},
| _ => {},
}

View file

@ -25,7 +25,7 @@ use ruma::{
},
serde::Raw,
state_res::TypeStateKey,
uint, DeviceId, OwnedEventId, OwnedRoomId, OwnedUserId, RoomId, UInt, UserId,
uint, DeviceId, OwnedEventId, OwnedRoomId, RoomId, UInt, UserId,
};
use service::{rooms::read_receipt::pack_receipts, PduCount};
@ -765,13 +765,9 @@ async fn collect_e2ee<'a>(
continue;
};
if pdu.kind == TimelineEventType::RoomMember {
if let Some(state_key) = &pdu.state_key {
let user_id =
OwnedUserId::parse(state_key.clone()).map_err(|_| {
Error::bad_database("Invalid UserId in member PDU.")
})?;
if user_id == *sender_user {
if let Some(Ok(user_id)) = pdu.state_key.as_deref().map(UserId::parse)
{
if user_id == sender_user {
continue;
}
@ -782,18 +778,18 @@ async fn collect_e2ee<'a>(
if !share_encrypted_room(
&services,
sender_user,
&user_id,
user_id,
Some(room_id),
)
.await
{
device_list_changes.insert(user_id);
device_list_changes.insert(user_id.to_owned());
}
},
| MembershipState::Leave => {
// Write down users that have left encrypted rooms we
// are in
left_encrypted_users.insert(user_id);
left_encrypted_users.insert(user_id.to_owned());
},
| _ => {},
}