Skip to content

Commit ae3cbc3

Browse files
authored
Merge pull request #743 from project-robius/bolt-async-invited-room-avatars-17181599463947151992
Defer fetching of invited room avatars just like for joined rooms
2 parents db3c076 + 93da156 commit ae3cbc3

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/home/rooms_list.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,8 @@ impl RoomsList {
570570
RoomsListUpdate::UpdateRoomAvatar { room_id, room_avatar } => {
571571
if let Some(room) = self.all_joined_rooms.get_mut(&room_id) {
572572
room.room_avatar = room_avatar;
573+
} else if let Some(room) = self.invited_rooms.borrow_mut().get_mut(&room_id) {
574+
room.room_avatar = room_avatar;
573575
} else {
574576
error!("Error: couldn't find room {room_id} to update avatar");
575577
}

src/sliding_sync.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2973,7 +2973,8 @@ async fn add_new_room(
29732973
RoomState::Invited => {
29742974
let invite_details = new_room.room.invite_details().await.ok();
29752975
let room_name_id = RoomNameId::from((new_room.display_name.clone(), new_room.room_id.clone()));
2976-
let room_avatar = room_avatar(&new_room.room, &room_name_id).await;
2976+
// Start with a basic text avatar; the avatar image will be fetched asynchronously below.
2977+
let room_avatar = avatar_from_room_name(room_name_id.name_for_avatar().as_deref());
29772978
let inviter_info = if let Some(inviter) = invite_details.and_then(|d| d.inviter) {
29782979
Some(InviterInfo {
29792980
user_id: inviter.user_id().to_owned(),
@@ -3004,6 +3005,7 @@ async fn add_new_room(
30043005
room_name_id,
30053006
is_invite: true,
30063007
});
3008+
spawn_fetch_room_avatar(new_room);
30073009
return Ok(());
30083010
}
30093011
RoomState::Joined => { } // Fall through to adding the joined room below.

0 commit comments

Comments
 (0)