summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-11-11 18:17:35 +0000
committerErik Johnston <erik@matrix.org>2015-11-11 18:17:35 +0000
commit04034d0b56f72c5bb8f0400ef76d8cd99910edd6 (patch)
treed5d980a3735a42838e8aa58b6bdc398976429ee2 /synapse
parentMerge pull request #359 from matrix-org/markjh/incremental_indexing (diff)
parentAllow guests to access room context API (diff)
downloadsynapse-04034d0b56f72c5bb8f0400ef76d8cd99910edd6.tar.xz
Merge pull request #361 from matrix-org/daniel/guestcontext
Allow guests to access room context API
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/room.py12
-rw-r--r--synapse/rest/client/v1/room.py4
2 files changed, 11 insertions, 5 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 7d18218cd9..0266926fc7 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -765,7 +765,7 @@ class RoomListHandler(BaseHandler):
 
 class RoomContextHandler(BaseHandler):
     @defer.inlineCallbacks
-    def get_event_context(self, user, room_id, event_id, limit):
+    def get_event_context(self, user, room_id, event_id, limit, is_guest):
         """Retrieves events, pagination tokens and state around a given event
         in a room.
 
@@ -789,11 +789,17 @@ class RoomContextHandler(BaseHandler):
         )
 
         results["events_before"] = yield self._filter_events_for_client(
-            user.to_string(), results["events_before"]
+            user.to_string(),
+            results["events_before"],
+            is_guest=is_guest,
+            require_all_visible_for_guests=False
         )
 
         results["events_after"] = yield self._filter_events_for_client(
-            user.to_string(), results["events_after"]
+            user.to_string(),
+            results["events_after"],
+            is_guest=is_guest,
+            require_all_visible_for_guests=False
         )
 
         if results["events_after"]:
diff --git a/synapse/rest/client/v1/room.py b/synapse/rest/client/v1/room.py
index 03ac073926..c583025e30 100644
--- a/synapse/rest/client/v1/room.py
+++ b/synapse/rest/client/v1/room.py
@@ -417,12 +417,12 @@ class RoomEventContext(ClientV1RestServlet):
 
     @defer.inlineCallbacks
     def on_GET(self, request, room_id, event_id):
-        user, _ = yield self.auth.get_user_by_req(request)
+        user, _, is_guest = yield self.auth.get_user_by_req(request, allow_guest=True)
 
         limit = int(request.args.get("limit", [10])[0])
 
         results = yield self.handlers.room_context_handler.get_event_context(
-            user, room_id, event_id, limit,
+            user, room_id, event_id, limit, is_guest
         )
 
         time_now = self.clock.time_msec()