feat: Only inject vias when manual ones aren't provided during join

This commit is contained in:
nexy7574 2025-07-31 17:48:30 +01:00 committed by nex
commit 76b93e252d

View file

@ -156,6 +156,8 @@ pub(crate) async fn join_room_by_id_or_alias_route(
.await?; .await?;
let mut servers = body.via.clone(); let mut servers = body.via.clone();
if servers.is_empty() {
debug!("No via servers provided for join, injecting some.");
servers.extend( servers.extend(
services services
.rooms .rooms
@ -182,6 +184,7 @@ pub(crate) async fn join_room_by_id_or_alias_route(
if let Some(server) = room_id.server_name() { if let Some(server) = room_id.server_name() {
servers.push(server.to_owned()); servers.push(server.to_owned());
} }
}
servers.sort_unstable(); servers.sort_unstable();
servers.dedup(); servers.dedup();