diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py index 049891eaf..6e114d542 100644 --- a/synapse/handlers/presence.py +++ b/synapse/handlers/presence.py @@ -166,17 +166,22 @@ class PresenceHandler(BaseHandler): observed_user=target_user ) - if visible: + if visible or True: # XXX: FIXME: Bodge to unbreak everything state = yield self.store.get_presence_state( target_user.localpart ) else: + # FIXME: *Surely* we shouldn't be 404ing the whole request, whatever + # it is, just because presence info isn't visible?! + # This causes client/api/v1/rooms/!cURbafjkfsMDVwdRDQ%3Amatrix.org/members/list + # to 404 currently + raise SynapseError(404, "Presence information not visible") else: # TODO(paul): Have remote server send us permissions set state = self._get_or_offline_usercache(target_user).get_state() - if "mtime" in state: + if "mtime" in state and (state["mtime"] is not None): state["mtime_age"] = int( self.clock.time_msec() - state.pop("mtime") )