fix: check events in timeline (not only state) for member changes
This commit is contained in:
		
							parent
							
								
									f121978897
								
							
						
					
					
						commit
						1587f2cd52
					
				
					 2 changed files with 6 additions and 3 deletions
				
			
		|  | @ -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 a new issue