summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-02-19 10:58:27 +0000
committerErik Johnston <erik@matrix.org>2016-02-19 10:58:27 +0000
commit929cb0ed7d2e5c189bdb75f0bc4f5eebecfee698 (patch)
treeb72da56f007bb6b3786765a8d1735382e6db653d /synapse
parentMore metrics (diff)
downloadsynapse-929cb0ed7d2e5c189bdb75f0bc4f5eebecfee698.tar.xz
Don't set currently_active for remote presence
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/presence.py18
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(