summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Hodgson <matthew@matrix.org>2018-12-27 00:44:33 +0000
committerMatthew Hodgson <matthew@matrix.org>2018-12-27 00:44:33 +0000
commit6fc1966576cdd8925dc6ca88e482a825ce3453e9 (patch)
treeb2249c975d4c310466d1a434aab60df8be7930b1
parentLog roomid along with Unknown room (#4297) (diff)
downloadsynapse-6fc1966576cdd8925dc6ca88e482a825ce3453e9.tar.xz
fix NPE in /messages by checking if all events were filtered out
-rw-r--r--synapse/handlers/pagination.py21
1 files changed, 11 insertions, 10 deletions
diff --git a/synapse/handlers/pagination.py b/synapse/handlers/pagination.py
index 43f81bd607..9d257ecf31 100644
--- a/synapse/handlers/pagination.py
+++ b/synapse/handlers/pagination.py
@@ -235,6 +235,17 @@ class PaginationHandler(object):
                 "room_key", next_key
             )
 
+        if events:
+            if event_filter:
+                events = event_filter.filter(events)
+
+            events = yield filter_events_for_client(
+                self.store,
+                user_id,
+                events,
+                is_peeking=(member_event_id is None),
+            )
+
         if not events:
             defer.returnValue({
                 "chunk": [],
@@ -242,16 +253,6 @@ class PaginationHandler(object):
                 "end": next_token.to_string(),
             })
 
-        if event_filter:
-            events = event_filter.filter(events)
-
-        events = yield filter_events_for_client(
-            self.store,
-            user_id,
-            events,
-            is_peeking=(member_event_id is None),
-        )
-
         state = None
         if event_filter and event_filter.lazy_load_members():
             # TODO: remove redundant members