summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-02-27 13:53:46 +0000
committerErik Johnston <erik@matrix.org>2019-02-27 13:53:46 +0000
commit1e315017d3c0dcde20e781fb3c87bc0e54c53cd1 (patch)
treeaa557adaf68e7fbeee7e3296ad89e79f0c867aa3 /synapse
parentMerge pull request #4749 from matrix-org/erikj/replication_connection_backoff (diff)
downloadsynapse-1e315017d3c0dcde20e781fb3c87bc0e54c53cd1.tar.xz
When presence is enabled don't send over replication
Diffstat (limited to 'synapse')
-rw-r--r--synapse/federation/federation_server.py3
-rw-r--r--synapse/replication/slave/storage/presence.py7
2 files changed, 8 insertions, 2 deletions
diff --git a/synapse/federation/federation_server.py b/synapse/federation/federation_server.py
index 569eb277a9..81f3b4b1ff 100644
--- a/synapse/federation/federation_server.py
+++ b/synapse/federation/federation_server.py
@@ -886,6 +886,9 @@ class ReplicationFederationHandlerRegistry(FederationHandlerRegistry):
     def on_edu(self, edu_type, origin, content):
         """Overrides FederationHandlerRegistry
         """
+        if not self.config.use_presence and edu_type == "m.presence":
+            return
+
         handler = self.edu_handlers.get(edu_type)
         if handler:
             return super(ReplicationFederationHandlerRegistry, self).on_edu(
diff --git a/synapse/replication/slave/storage/presence.py b/synapse/replication/slave/storage/presence.py
index 92447b00d4..9e530defe0 100644
--- a/synapse/replication/slave/storage/presence.py
+++ b/synapse/replication/slave/storage/presence.py
@@ -54,8 +54,11 @@ class SlavedPresenceStore(BaseSlavedStore):
 
     def stream_positions(self):
         result = super(SlavedPresenceStore, self).stream_positions()
-        position = self._presence_id_gen.get_current_token()
-        result["presence"] = position
+
+        if self.hs.config.use_presence:
+            position = self._presence_id_gen.get_current_token()
+            result["presence"] = position
+
         return result
 
     def process_replication_rows(self, stream_name, token, rows):