fix: check events in timeline (not only state) for member changes
parent
f121978897
commit
1587f2cd52
|
@ -836,7 +836,7 @@ pub async fn invite_helper<'a>(
|
||||||
is_direct: Some(is_direct),
|
is_direct: Some(is_direct),
|
||||||
membership: MembershipState::Invite,
|
membership: MembershipState::Invite,
|
||||||
third_party_invite: None,
|
third_party_invite: None,
|
||||||
blurhash: db.users.blurhash(&sender_user)?,
|
blurhash: None,
|
||||||
})
|
})
|
||||||
.expect("member event is valid value");
|
.expect("member event is valid value");
|
||||||
|
|
||||||
|
@ -1012,7 +1012,7 @@ pub async fn invite_helper<'a>(
|
||||||
avatar_url: db.users.avatar_url(&user_id)?,
|
avatar_url: db.users.avatar_url(&user_id)?,
|
||||||
is_direct: Some(is_direct),
|
is_direct: Some(is_direct),
|
||||||
third_party_invite: None,
|
third_party_invite: None,
|
||||||
blurhash: db.users.blurhash(&sender_user)?,
|
blurhash: db.users.blurhash(&user_id)?,
|
||||||
})
|
})
|
||||||
.expect("event is valid, we just created it"),
|
.expect("event is valid, we just created it"),
|
||||||
unsigned: None,
|
unsigned: None,
|
||||||
|
|
|
@ -421,7 +421,10 @@ async fn sync_helper(
|
||||||
|
|
||||||
let send_member_count = state_events
|
let send_member_count = state_events
|
||||||
.iter()
|
.iter()
|
||||||
.any(|event| event.kind == EventType::RoomMember);
|
.any(|event| event.kind == EventType::RoomMember)
|
||||||
|
|| timeline_pdus.iter().any(|(_, event)| {
|
||||||
|
event.state_key.is_some() && event.kind == EventType::RoomMember
|
||||||
|
});
|
||||||
|
|
||||||
if encrypted_room {
|
if encrypted_room {
|
||||||
for (user_id, current_member) in db
|
for (user_id, current_member) in db
|
||||||
|
|
Loading…
Reference in New Issue