summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-04-01 16:36:54 +0100
committerErik Johnston <erik@matrix.org>2016-04-01 16:36:54 +0100
commitaa82cb38e97faa4ad1c15109cbc5b02647ea2461 (patch)
tree16bd9f4e6b8f071752e2cd725f90f1e0c73d26af
parentDo checks for memberships before creating events (diff)
downloadsynapse-aa82cb38e97faa4ad1c15109cbc5b02647ea2461.tar.xz
Remove state hack from _create_new_client_event
Diffstat (limited to '')
-rw-r--r--synapse/handlers/_base.py43
1 files changed, 0 insertions, 43 deletions
diff --git a/synapse/handlers/_base.py b/synapse/handlers/_base.py
index d407eaeee9..2d8ff79a9e 100644
--- a/synapse/handlers/_base.py
+++ b/synapse/handlers/_base.py
@@ -221,49 +221,6 @@ class BaseHandler(object):
 
         context = yield state_handler.compute_event_context(builder)
 
-        # If we've received an invite over federation, there are no latest
-        # events in the room, because we don't know enough about the graph
-        # fragment we received to treat it like a graph, so the above returned
-        # no relevant events. It may have returned some events (if we have
-        # joined and left the room), but not useful ones, like the invite.
-        if (
-            not self.is_host_in_room(context.current_state) and
-            builder.type == EventTypes.Member
-        ):
-            prev_member_event = yield self.store.get_room_member(
-                builder.sender, builder.room_id
-            )
-
-            # The prev_member_event may already be in context.current_state,
-            # despite us not being present in the room; in particular, if
-            # inviting user, and all other local users, have already left.
-            #
-            # In that case, we have all the information we need, and we don't
-            # want to drop "context" - not least because we may need to handle
-            # the invite locally, which will require us to have the whole
-            # context (not just prev_member_event) to auth it.
-            #
-            context_event_ids = (
-                e.event_id for e in context.current_state.values()
-            )
-
-            if (
-                prev_member_event and
-                prev_member_event.event_id not in context_event_ids
-            ):
-                # The prev_member_event is missing from context, so it must
-                # have arrived over federation and is an outlier. We forcibly
-                # set our context to the invite we received over federation
-                builder.prev_events = (
-                    prev_member_event.event_id,
-                    prev_member_event.prev_events
-                )
-
-                context = yield state_handler.compute_event_context(
-                    builder,
-                    old_state=(prev_member_event,)
-                )
-
         if builder.is_state():
             builder.prev_state = yield self.store.add_event_hashes(
                 context.prev_state_events