mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-09 19:13:03 +02:00
feat(PR977): Log more things in the join process
This commit is contained in:
parent
d1fff1d09f
commit
09de586dc7
1 changed files with 20 additions and 21 deletions
|
@ -178,11 +178,6 @@ async fn create_join_event(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
services
|
|
||||||
.server_keys
|
|
||||||
.hash_and_sign_event(&mut value, &room_version_id)
|
|
||||||
.map_err(|e| err!(Request(InvalidParam(warn!("Failed to sign send_join event: {e}")))))?;
|
|
||||||
|
|
||||||
let origin: OwnedServerName = serde_json::from_value(
|
let origin: OwnedServerName = serde_json::from_value(
|
||||||
value
|
value
|
||||||
.get("origin")
|
.get("origin")
|
||||||
|
@ -192,6 +187,12 @@ async fn create_join_event(
|
||||||
)
|
)
|
||||||
.map_err(|e| err!(Request(BadJson("Event has an invalid origin server name: {e}"))))?;
|
.map_err(|e| err!(Request(BadJson("Event has an invalid origin server name: {e}"))))?;
|
||||||
|
|
||||||
|
trace!("Signing send_join event");
|
||||||
|
services
|
||||||
|
.server_keys
|
||||||
|
.hash_and_sign_event(&mut value, &room_version_id)
|
||||||
|
.map_err(|e| err!(Request(InvalidParam(warn!("Failed to sign send_join event: {e}")))))?;
|
||||||
|
|
||||||
let mutex_lock = services
|
let mutex_lock = services
|
||||||
.rooms
|
.rooms
|
||||||
.event_handler
|
.event_handler
|
||||||
|
@ -218,21 +219,19 @@ async fn create_join_event(
|
||||||
.collect()
|
.collect()
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
#[allow(clippy::unnecessary_unwrap)]
|
trace!(%omit_members, "Constructing current state");
|
||||||
let state = state_ids
|
let state = state_ids
|
||||||
.iter()
|
.iter()
|
||||||
.try_stream()
|
.try_stream()
|
||||||
.broad_filter_map(|event_id| async move {
|
.broad_filter_map(|event_id| async move {
|
||||||
if omit_members && event_id.is_ok() {
|
if omit_members {
|
||||||
let pdu = services
|
if let Ok(e) = event_id.as_ref() {
|
||||||
.rooms
|
let pdu = services.rooms.timeline.get_pdu(e).await;
|
||||||
.timeline
|
if pdu.is_ok_and(|p| p.kind().to_cow_str() == "m.room.member") {
|
||||||
.get_pdu(event_id.as_ref().unwrap())
|
trace!("omitting member event {e:?} from returned state");
|
||||||
.await;
|
// skip members
|
||||||
if pdu.is_ok_and(|p| p.kind().to_cow_str() == "m.room.member") {
|
return None;
|
||||||
trace!("omitting member event {event_id:?} from returned state");
|
}
|
||||||
// skip members
|
|
||||||
return None;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(event_id)
|
Some(event_id)
|
||||||
|
@ -249,6 +248,7 @@ async fn create_join_event(
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
let starting_events = state_ids.iter().map(Borrow::borrow);
|
let starting_events = state_ids.iter().map(Borrow::borrow);
|
||||||
|
trace!("Constructing auth chain");
|
||||||
let auth_chain = services
|
let auth_chain = services
|
||||||
.rooms
|
.rooms
|
||||||
.auth_chain
|
.auth_chain
|
||||||
|
@ -265,8 +265,9 @@ async fn create_join_event(
|
||||||
.try_collect()
|
.try_collect()
|
||||||
.boxed()
|
.boxed()
|
||||||
.await?;
|
.await?;
|
||||||
info!(fast_join = %omit_members, "Sending a join for {origin} to {room_id}");
|
info!(fast_join = %omit_members, "Sending join event to other servers");
|
||||||
services.sending.send_pdu_room(room_id, &pdu_id).await?;
|
services.sending.send_pdu_room(room_id, &pdu_id).await?;
|
||||||
|
debug!("Finished sending join event");
|
||||||
let servers_in_room: Option<Vec<_>> = if !omit_members {
|
let servers_in_room: Option<Vec<_>> = if !omit_members {
|
||||||
None
|
None
|
||||||
} else {
|
} else {
|
||||||
|
@ -280,12 +281,10 @@ async fn create_join_event(
|
||||||
.await;
|
.await;
|
||||||
// If there's no servers, just add us
|
// If there's no servers, just add us
|
||||||
let servers = if servers.is_empty() {
|
let servers = if servers.is_empty() {
|
||||||
warn!(
|
warn!("Failed to find any servers, adding our own server name as a last resort");
|
||||||
"Failed to find any servers in {room_id}, adding our own server name as a last \
|
|
||||||
resort"
|
|
||||||
);
|
|
||||||
vec![services.globals.server_name().to_string()]
|
vec![services.globals.server_name().to_string()]
|
||||||
} else {
|
} else {
|
||||||
|
trace!("Found {} servers in room", servers.len());
|
||||||
servers
|
servers
|
||||||
};
|
};
|
||||||
Some(servers)
|
Some(servers)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue