fix: remove transaction_id from pdus over federation

This commit is contained in:
Timo Kösters 2020-09-15 17:02:20 +02:00
parent b7ab57897b
commit 1bf614b0f5
No known key found for this signature in database
GPG key ID: 24DA7517711A2BA4
2 changed files with 10 additions and 1 deletions

View file

@ -36,6 +36,12 @@ impl Sending {
let pdu_id = parts.next().ok_or_else(|| Error::bad_database("Invalid serverpduid in db."))?;
let mut pdu_json = rooms.get_pdu_json_from_id(&pdu_id.into())?.ok_or_else(|| Error::bad_database("Event in serverpduids not found in db."))?;
if let Some(unsigned) = pdu_json
.as_object_mut()
.expect("json is object")
.get_mut("unsigned") {
unsigned.as_object_mut().expect("unsigned is object").remove("transaction_id");
}
pdu_json
.as_object_mut()
.expect("json is object")

View file

@ -201,6 +201,9 @@ impl PduEvent {
}
pub fn to_outgoing_federation_event(&self) -> Raw<PduStub> {
let mut unsigned = self.unsigned.clone();
unsigned.remove("transaction_id");
let mut json = json!({
"room_id": self.room_id,
"sender": self.sender,
@ -210,7 +213,7 @@ impl PduEvent {
"prev_events": self.prev_events,
"depth": self.depth,
"auth_events": self.auth_events,
"unsigned": self.unsigned,
"unsigned": unsigned,
"hashes": self.hashes,
"signatures": self.signatures,
});