diff options
author | Erik Johnston <erik@matrix.org> | 2023-01-16 14:20:12 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-16 14:20:12 +0000 |
commit | 4db3331bb95a655bb56ab8333be49ee183f71715 (patch) | |
tree | 8490322f2decf01b666871fa17f13a6472fed6ec | |
parent | Remove unnecessary reactor reference from `_PerHostRatelimiter` (#14842) (diff) | |
download | synapse-4db3331bb95a655bb56ab8333be49ee183f71715.tar.xz |
Add an early return when handling no-op presence updates. (#14855)
This stops us from incrementing the presence stream position for no-op updates.
-rw-r--r-- | changelog.d/14855.misc | 1 | ||||
-rw-r--r-- | synapse/handlers/presence.py | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/changelog.d/14855.misc b/changelog.d/14855.misc new file mode 100644 index 0000000000..f0e292f287 --- /dev/null +++ b/changelog.d/14855.misc @@ -0,0 +1 @@ +Add an early return when handling no-op presence updates. diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py index 2af90b25a3..43e4e7b1b4 100644 --- a/synapse/handlers/presence.py +++ b/synapse/handlers/presence.py @@ -2155,6 +2155,11 @@ class PresenceFederationQueue: # This should only be called on a presence writer. assert self._presence_writer + if not states or not destinations: + # Ignore calls which either don't have any new states or don't need + # to be sent anywhere. + return + if self._federation: self._federation.send_presence_to_destinations( states=states, |