diff options
author | Erik Johnston <erik@matrix.org> | 2016-02-19 10:58:27 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-02-19 10:58:27 +0000 |
commit | 929cb0ed7d2e5c189bdb75f0bc4f5eebecfee698 (patch) | |
tree | b72da56f007bb6b3786765a8d1735382e6db653d /synapse | |
parent | More metrics (diff) | |
download | synapse-929cb0ed7d2e5c189bdb75f0bc4f5eebecfee698.tar.xz |
Don't set currently_active for remote presence
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/presence.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py index c3cfc9441d..80a2c0ceba 100644 --- a/synapse/handlers/presence.py +++ b/synapse/handlers/presence.py @@ -995,6 +995,18 @@ def handle_update(prev_state, new_state, is_mine, wheel_timer, now): then=new_state.last_active_ts + IDLE_TIMER ) + active = now - new_state.last_active_ts < LAST_ACTIVE_GRANULARITY + new_state = new_state.copy_and_replace( + currently_active=active, + ) + + if active: + wheel_timer.insert( + now=now, + obj=user_id, + then=new_state.last_active_ts + LAST_ACTIVE_GRANULARITY + ) + if new_state.state != PresenceState.OFFLINE: # User has stopped syncing wheel_timer.insert( @@ -1018,12 +1030,6 @@ def handle_update(prev_state, new_state, is_mine, wheel_timer, now): then=new_state.last_federation_update_ts + FEDERATION_TIMEOUT ) - if new_state.state == PresenceState.ONLINE: - active = now - new_state.last_active_ts < LAST_ACTIVE_GRANULARITY - new_state = new_state.copy_and_replace( - currently_active=active, - ) - # Check whether the change was something worth notifying about if should_notify(prev_state, new_state): new_state = new_state.copy_and_replace( |