refactor: Ruma upstreaming, half-baked edition

Co-authored-by: Jade Ellis <jade@ellis.link>
This commit is contained in:
Ginger
2026-03-29 12:25:42 -04:00
parent 1cc9dbf2a4
commit 204bc1367e
141 changed files with 2715 additions and 2279 deletions
+6 -13
View File
@@ -16,10 +16,10 @@ use futures::StreamExt;
use ruma::{
CanonicalJsonObject, CanonicalJsonValue, EventId, RoomVersionId, UserId,
events::{
GlobalAccountDataEventType, StateEventType, TimelineEventType,
GlobalAccountDataEventType, TimelineEventType,
push_rules::PushRulesEvent,
room::{
encrypted::Relation, power_levels::RoomPowerLevelsEventContent,
encrypted::Relation,
redaction::RoomRedactionEventContent,
},
},
@@ -204,18 +204,11 @@ where
drop(insert_lock);
// See if the event matches any known pushers via power level
let power_levels: RoomPowerLevelsEventContent = self
.services
.state_accessor
.room_state_get_content(room_id, &StateEventType::RoomPowerLevels, "")
.await
.unwrap_or_default();
let power_levels = self.services.state_accessor.get_room_power_levels(room_id).await;
let mut push_target: HashSet<_> = self
.services
.state_cache
.active_local_users_in_room(room_id)
.map(ToOwned::to_owned)
// Don't notify the sender of their own events, and dont send from ignored users
.ready_filter(|user| *user != pdu.sender())
.filter_map(|recipient_user| async move { (!self.services.users.user_is_ignored(pdu.sender(), &recipient_user).await).then_some(recipient_user) })
@@ -229,7 +222,7 @@ where
if let Some(state_key) = pdu.state_key() {
let target_user_id = UserId::parse(state_key)?;
if self.services.users.is_active_local(target_user_id).await {
if self.services.users.is_active_local(&target_user_id).await {
push_target.insert(target_user_id.to_owned());
}
}
@@ -253,7 +246,7 @@ where
for action in self
.services
.pusher
.get_actions(user, &rules_for_user, &power_levels, &serialized, room_id)
.get_actions(user, &rules_for_user, power_levels.clone(), &serialized, room_id)
.await
{
match action {
@@ -346,7 +339,7 @@ where
// knock event for auth
self.services
.state_cache
.update_membership(room_id, target_user_id, pdu, true)
.update_membership(room_id, &target_user_id, pdu, true)
.await?;
}
},