From ab7835dedb16b7ac0208ad6329f6b1252188240b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20K=C3=B6sters?= <timo@koesters.xyz>
Date: Wed, 4 Aug 2021 15:19:50 +0200
Subject: [PATCH] fix: early return from state res

---
 src/server_server.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/server_server.rs b/src/server_server.rs
index 3ea1c0ab..7b0bd58b 100644
--- a/src/server_server.rs
+++ b/src/server_server.rs
@@ -1267,10 +1267,10 @@ pub fn handle_incoming_pdu<'a>(
         // 14. Use state resolution to find new room state
         let new_room_state = if fork_states.is_empty() {
             return Err("State is empty.".to_owned());
-        } else if fork_states.len() == 1 {
+        } else if fork_states.iter().skip(1).all(|f| &fork_states[0] == f) {
             // There was only one state, so it has to be the room's current state (because that is
             // always included)
-            debug!("Skipping stateres because there is no new state.");
+            warn!("Skipping stateres because there is no new state.");
             fork_states[0]
                 .iter()
                 .map(|(k, pdu)| (k.clone(), pdu.event_id.clone()))