diff --git a/src/api/client_server/room.rs b/src/api/client_server/room.rs index fcd61a54..b1cb0f30 100644 --- a/src/api/client_server/room.rs +++ b/src/api/client_server/room.rs @@ -186,6 +186,7 @@ pub async fn create_room_route( content } }; + let displayname = services().users.displayname(sender_user)?; // Validate creation content let de_result = serde_json::from_str::( @@ -229,7 +230,7 @@ pub async fn create_room_route( event_type: TimelineEventType::RoomMember, content: to_raw_value(&RoomMemberEventContent { membership: MembershipState::Join, - displayname: services().users.displayname(sender_user)?, + displayname: displayname.clone(), avatar_url: services().users.avatar_url(sender_user)?, is_direct: Some(body.is_direct), third_party_invite: None, @@ -424,7 +425,14 @@ pub async fn create_room_route( } // 7. Events implied by name and topic - if let Some(name) = &body.name { + let name = if body.name.is_some() { + &body.name + } else if displayname.is_some() { + &displayname + } else { + &None + }; + if let Some(name) = name { services() .rooms .timeline