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)
|