Skip to content
Snippets Groups Projects
Commit 3b5794b5 authored by Matthias Ahouansou's avatar Matthias Ahouansou Committed by 🥺
Browse files

fix(membership): check if server is in room to decide whether to do remote leaves

parent 6078b5ee
No related branches found
No related tags found
No related merge requests found
......@@ -1476,7 +1476,11 @@ pub async fn leave_all_rooms(user_id: &UserId) -> Result<()> {
pub async fn leave_room(user_id: &UserId, room_id: &RoomId, reason: Option<String>) -> Result<()> {
// Ask a remote server if we don't have this room
if !services().rooms.metadata.exists(room_id)? && room_id.server_name() != Some(services().globals.server_name()) {
if !services()
.rooms
.state_cache
.server_in_room(services().globals.server_name(), room_id)?
{
if let Err(e) = remote_leave_room(user_id, room_id).await {
warn!("Failed to leave room {} remotely: {}", user_id, e);
// Don't tell the client about this error
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment