mirror of
https://gitlab.com/famedly/conduit.git
synced 2025-08-16 18:01:35 +00:00
joining remote rooms works too now
This commit is contained in:
parent
f0ca5253aa
commit
2089ca8e3c
3 changed files with 71 additions and 57 deletions
|
@ -1,3 +1,5 @@
|
|||
use std::ops::Deref;
|
||||
|
||||
use super::{DEVICE_ID_LENGTH, SESSION_ID_LENGTH, TOKEN_LENGTH};
|
||||
use crate::{
|
||||
api::client_server::{self, membership::join_room_by_id_helper},
|
||||
|
@ -15,7 +17,7 @@ use ruma::{
|
|||
uiaa::{AuthFlow, AuthType, UiaaInfo},
|
||||
},
|
||||
events::{room::message::RoomMessageEventContent, GlobalAccountDataEventType},
|
||||
push, UserId,
|
||||
push, RoomId, UserId,
|
||||
};
|
||||
use tracing::{info, warn};
|
||||
|
||||
|
@ -291,29 +293,27 @@ pub async fn register_route(body: Ruma<register::v3::Request>) -> Result<registe
|
|||
}
|
||||
}
|
||||
|
||||
let default_rooms = services()
|
||||
.globals
|
||||
.default_rooms()
|
||||
.expect("default rooms should be validated on db startup");
|
||||
let default_rooms = services().globals.default_rooms().await?;
|
||||
let servers: Vec<_> = default_rooms
|
||||
.iter()
|
||||
.map(Deref::deref)
|
||||
.filter_map(RoomId::server_name)
|
||||
.map(Into::into)
|
||||
.collect();
|
||||
|
||||
let _user_id = user_id.clone();
|
||||
let servers = [services().globals.server_name().to_owned()];
|
||||
|
||||
tokio::spawn(async move {
|
||||
for room_id in default_rooms {
|
||||
let _ = join_room_by_id_helper(
|
||||
Some(&_user_id),
|
||||
room_id,
|
||||
Some("All men are equal before fish.".to_owned()),
|
||||
&servers,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.inspect_err(|e| {
|
||||
tracing::warn!("Failed to join default room: {e}");
|
||||
});
|
||||
for room_id in default_rooms {
|
||||
if let Err(e) = join_room_by_id_helper(
|
||||
Some(&user_id),
|
||||
room_id,
|
||||
Some("All men are equal before fish.".to_owned()),
|
||||
&servers,
|
||||
None,
|
||||
)
|
||||
.await
|
||||
{
|
||||
warn!("Failed to join default room: {}", e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Ok(register::v3::Response {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue