diff options
author | Erik Johnston <erikj@jki.re> | 2016-08-11 14:10:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-11 14:10:55 +0100 |
commit | 832799dbff31d085733ea56c54bcb8aab8799366 (patch) | |
tree | 5b61045e8c7174cb178b1f1b48de42e6d69ca67c /synapse/handlers | |
parent | Merge pull request #1003 from matrix-org/erikj/redaction_prev_content (diff) | |
parent | Synced up synchrotron set_state with PresenceHandler set_state (diff) | |
download | synapse-832799dbff31d085733ea56c54bcb8aab8799366.tar.xz |
Merge pull request #997 from Half-Shot/develop
Don't change status_msg on /sync
Diffstat (limited to 'synapse/handlers')
-rw-r--r-- | synapse/handlers/presence.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py index 6b70fa3817..2293b5fdf7 100644 --- a/synapse/handlers/presence.py +++ b/synapse/handlers/presence.py @@ -672,7 +672,7 @@ class PresenceHandler(object): ]) @defer.inlineCallbacks - def set_state(self, target_user, state): + def set_state(self, target_user, state, ignore_status_msg=False): """Set the presence state of the user. """ status_msg = state.get("status_msg", None) @@ -689,10 +689,13 @@ class PresenceHandler(object): prev_state = yield self.current_state_for_user(user_id) new_fields = { - "state": presence, - "status_msg": status_msg if presence != PresenceState.OFFLINE else None + "state": presence } + if not ignore_status_msg: + msg = status_msg if presence != PresenceState.OFFLINE else None + new_fields["status_msg"] = msg + if presence == PresenceState.ONLINE: new_fields["last_active_ts"] = self.clock.time_msec() |