From 6c5b147a39c4c1ee5bc0ec0decacebb9f32de286 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 19 Feb 2016 17:11:11 +0000 Subject: [PATCH] Interpret unknown visibilities the same as shared --- synapse/handlers/_base.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/synapse/handlers/_base.py b/synapse/handlers/_base.py index f01ab6780..ef6716002 100644 --- a/synapse/handlers/_base.py +++ b/synapse/handlers/_base.py @@ -111,22 +111,24 @@ class BaseHandler(object): # return True pass - if visibility == "shared": - # user can also see the event if he has become a member since - # the event - # - # XXX: if the user has subsequently joined and then left again, - # ideally we would share history up to the point they left. But - # we don't know when they left. - return not is_peeking + if visibility == "joined": + # we weren't a member at the time of the event, so we can't + # see this event. + return False + elif visibility == "invited": # user can also see the event if he was *invited* at the time # of the event. return membership == Membership.INVITE - # presumably visibility is "joined"; we weren't a member at the - # time of the event, so we're done. - return False + else: + # visibility is shared: user can also see the event if he has + # become a member since the event + # + # XXX: if the user has subsequently joined and then left again, + # ideally we would share history up to the point they left. But + # we don't know when they left. + return not is_peeking defer.returnValue({ user_id: [