From f1507a4522fe4e22e89ca11a99cf9c2477131489 Mon Sep 17 00:00:00 2001 From: strawberry Date: Wed, 13 Mar 2024 23:45:37 -0400 Subject: [PATCH] handle GetRemotePdu response as backfilled PDU Signed-off-by: strawberry --- src/service/admin/mod.rs | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/src/service/admin/mod.rs b/src/service/admin/mod.rs index b9da92cd..184c358f 100644 --- a/src/service/admin/mod.rs +++ b/src/service/admin/mod.rs @@ -2020,40 +2020,21 @@ impl Service { warn!("Could not fetch all signatures for PDUs from {server}: {e:?}"); }); - info!("Attempting to handle event ID {event_id} as incoming PDU"); - for (event_id, value, room_id) in parsed_pdu { - let mutex = Arc::clone( - services() - .globals - .roomid_mutex_federation - .write() - .await - .entry(room_id.clone()) - .or_default(), - ); - let mutex_lock = mutex.lock().await; - - services() - .rooms - .event_handler - .handle_incoming_pdu(&server, &event_id, &room_id, value, false, &pub_key_map) - .await?; - - drop(mutex_lock); - } + info!("Attempting to handle event ID {event_id} as backfilled PDU"); + services().rooms.timeline.backfill_pdu(&server, response.pdu, &pub_key_map).await?; let json_text = serde_json::to_string_pretty(&json).expect("canonical json is valid json"); return Ok(RoomMessageEventContent::text_html( format!( "{}\n```json\n{}\n```", - "Got PDU from specified server and handled as incoming PDU successfully. Event \ + "Got PDU from specified server and handled as backfilled PDU successfully. Event \ body:", json_text ), format!( "

{}

\n
{}\n
\n", - "Got PDU from specified server and handled as incoming PDU successfully. Event \ + "Got PDU from specified server and handled as backfilled PDU successfully. Event \ body:", HtmlEscape(&json_text) ),