summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <paul@matrix.org>2014-09-01 16:16:35 +0100
committerPaul "LeoNerd" Evans <paul@matrix.org>2014-09-01 16:16:35 +0100
commit1c6ab2d75994bb0b50d7c31a508c4e5a088feb15 (patch)
treeab9c7b4416760efba768fa438b97da6e9ba6de19 /synapse
parentHave MemoryDataStore's get_rooms_for_user_where_membership_is() return room m... (diff)
downloadsynapse-1c6ab2d75994bb0b50d7c31a508c4e5a088feb15.tar.xz
Bump a user's presence last_active time every time they send a message to a room
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/message.py4
-rw-r--r--synapse/handlers/presence.py6
2 files changed, 10 insertions, 0 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py

index f133458b91..4c74ce3eff 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py
@@ -90,6 +90,10 @@ class MessageHandler(BaseRoomHandler): yield self._on_new_room_event(event, snapshot) + self.hs.get_handlers().presence_handler.bump_presence_active_time( + user + ) + @defer.inlineCallbacks def get_messages(self, user_id=None, room_id=None, pagin_config=None, feedback=False): diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index c1af07133f..f55bea58a5 100644 --- a/synapse/handlers/presence.py +++ b/synapse/handlers/presence.py
@@ -266,6 +266,12 @@ class PresenceHandler(BaseHandler): # we don't have to do this all the time self.changed_presencelike_data(target_user, state) + def bump_presence_active_time(self, user, now=None): + if now is None: + now = self.clock.time_msec() + + self.changed_presencelike_data(user, {"last_active": now}) + def changed_presencelike_data(self, user, state): statuscache = self._get_or_make_usercache(user)