forked from lavina/lavina
Merge remote-tracking branch 'lavina/main' into feature/muc-join-messages
This commit is contained in:
commit
538de5e849
|
@ -893,10 +893,15 @@ async fn handle_join(
|
|||
) -> Result<()> {
|
||||
match chan {
|
||||
Chan::Global(chan_name) => {
|
||||
let room_id = RoomId::try_from(chan_name.clone())?;
|
||||
if let JoinResult::Success(room_info) = user_handle.join_room(room_id).await? {
|
||||
let room_id = RoomId::from(chan_name.clone())?;
|
||||
match user_handle.join_room(room_id).await? {
|
||||
JoinResult::Success(room_info) => {
|
||||
produce_on_join_cmd_messages(&config, &user, chan, &room_info, writer).await?;
|
||||
} else {
|
||||
}
|
||||
JoinResult::AlreadyJoined => {
|
||||
// we do nothing on repeated joins
|
||||
}
|
||||
JoinResult::Banned => {
|
||||
ServerMessage {
|
||||
tags: vec![],
|
||||
sender: Some(config.server_name.clone()),
|
||||
|
@ -909,9 +914,12 @@ async fn handle_join(
|
|||
.write_async(writer)
|
||||
.await?;
|
||||
}
|
||||
}
|
||||
writer.flush().await?;
|
||||
}
|
||||
Chan::Local(_) => {}
|
||||
Chan::Local(_) => {
|
||||
// TODO handle join attempts to local chans with an error, we don't support these
|
||||
}
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue