浏览代码

When presence is enabled don't send over replication

Erik Johnston 5 年之前
父节点
当前提交
1e315017d3
共有 2 个文件被更改,包括 8 次插入2 次删除
  1. 3 0
      synapse/federation/federation_server.py
  2. 5 2
      synapse/replication/slave/storage/presence.py

+ 3 - 0
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(

+ 5 - 2
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):