From f4078a29eb2e4975bc5664aab718875ce67da6a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20K=C3=B6sters?= <timo@koesters.xyz>
Date: Wed, 16 Sep 2020 10:49:54 +0200
Subject: [PATCH] fix: synapse complains about missing origin

---
 src/database/rooms.rs   | 6 ++++++
 src/database/sending.rs | 1 +
 2 files changed, 7 insertions(+)

diff --git a/src/database/rooms.rs b/src/database/rooms.rs
index 2246a61fe..8e6803301 100644
--- a/src/database/rooms.rs
+++ b/src/database/rooms.rs
@@ -812,6 +812,12 @@ pub async fn build_and_append_pdu(
             .expect("json is object")
             .remove("event_id");
 
+        // Add origin because synapse likes that (and it's required in the spec)
+        pdu_json
+            .as_object_mut()
+            .expect("json is object")
+            .insert("origin".to_owned(), globals.server_name().as_str().into());
+
         ruma::signatures::hash_and_sign_event(
             globals.server_name().as_str(),
             globals.keypair(),
diff --git a/src/database/sending.rs b/src/database/sending.rs
index 77998e79b..a3f15742b 100644
--- a/src/database/sending.rs
+++ b/src/database/sending.rs
@@ -42,6 +42,7 @@ pub fn start_handler(&self, globals: &super::globals::Globals, rooms: &super::ro
                             .get_mut("unsigned") {
                                 unsigned.as_object_mut().expect("unsigned is object").remove("transaction_id");
                         }
+
                         pdu_json
                             .as_object_mut()
                             .expect("json is object")
-- 
GitLab