Skip to content

Commit 3c45e4b

Browse files
committed
chore(spaces): cleanup clone names in room updates listener
1 parent 7a11db4 commit 3c45e4b

File tree

1 file changed

+30
-27
lines changed

1 file changed

+30
-27
lines changed

crates/matrix-sdk-ui/src/spaces/room_list.rs

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -112,38 +112,41 @@ impl SpaceRoomList {
112112
pub fn new(client: Client, parent_space_id: OwnedRoomId) -> Self {
113113
let rooms = Arc::new(Mutex::new(ObservableVector::<SpaceRoom>::new()));
114114

115-
let client_clone = client.clone();
116-
let rooms_clone = rooms.clone();
117115
let all_room_updates_receiver = client.subscribe_to_all_room_updates();
118116

119-
let handle = spawn(async move {
120-
pin_mut!(all_room_updates_receiver);
117+
let handle = spawn({
118+
let client = client.clone();
119+
let rooms = rooms.clone();
121120

122-
loop {
123-
match all_room_updates_receiver.recv().await {
124-
Ok(updates) => {
125-
if updates.is_empty() {
126-
continue;
127-
}
121+
async move {
122+
pin_mut!(all_room_updates_receiver);
128123

129-
let mut mutable_rooms = rooms_clone.lock();
130-
131-
updates.iter_all_room_ids().for_each(|updated_room_id| {
132-
if let Some((position, room)) = mutable_rooms
133-
.clone()
134-
.iter()
135-
.find_position(|room| &room.room_id == updated_room_id)
136-
&& let Some(update_room) = client_clone.get_room(updated_room_id)
137-
{
138-
mutable_rooms.set(
139-
position,
140-
SpaceRoom::new_from_known(update_room, room.children_count),
141-
);
124+
loop {
125+
match all_room_updates_receiver.recv().await {
126+
Ok(updates) => {
127+
if updates.is_empty() {
128+
continue;
142129
}
143-
})
144-
}
145-
Err(err) => {
146-
error!("error when listening to room updates: {err}");
130+
131+
let mut mutable_rooms = rooms.lock();
132+
133+
updates.iter_all_room_ids().for_each(|updated_room_id| {
134+
if let Some((position, room)) = mutable_rooms
135+
.clone()
136+
.iter()
137+
.find_position(|room| &room.room_id == updated_room_id)
138+
&& let Some(update_room) = client.get_room(updated_room_id)
139+
{
140+
mutable_rooms.set(
141+
position,
142+
SpaceRoom::new_from_known(update_room, room.children_count),
143+
);
144+
}
145+
})
146+
}
147+
Err(err) => {
148+
error!("error when listening to room updates: {err}");
149+
}
147150
}
148151
}
149152
}

0 commit comments

Comments
 (0)