summary refs log tree commit diff
diff options
context:
space:
mode:
authorŠimon Brandner <simon.bra.ag@gmail.com>2022-05-05 15:25:51 +0200
committerGitHub <noreply@github.com>2022-05-05 13:25:51 +0000
commitef86cf3d281d09d8ff4ee64af7a8c48d2516e2fd (patch)
tree4a5905c037c270a8569416e098490340abf64220
parentImprove comments and error messages around access tokens. (#12577) (diff)
downloadsynapse-ef86cf3d281d09d8ff4ee64af7a8c48d2516e2fd.tar.xz
Update `_on_new_receipts()` to work with MSC2285 changes. (#12636)
-rw-r--r--changelog.d/12636.feature1
-rw-r--r--synapse/replication/tcp/client.py8
2 files changed, 4 insertions, 5 deletions
diff --git a/changelog.d/12636.feature b/changelog.d/12636.feature
new file mode 100644
index 0000000000..cd5c45029e
--- /dev/null
+++ b/changelog.d/12636.feature
@@ -0,0 +1 @@
+Implement [changes](https://github.com/matrix-org/matrix-spec-proposals/pull/2285/commits/4a77139249c2e830aec3c7d6bd5501a514d1cc27) to [MSC2285 (hidden read receipts)](https://github.com/matrix-org/matrix-spec-proposals/pull/2285). Contributed by @SimonBrandner.
diff --git a/synapse/replication/tcp/client.py b/synapse/replication/tcp/client.py
index 122892c7bc..350762f494 100644
--- a/synapse/replication/tcp/client.py
+++ b/synapse/replication/tcp/client.py
@@ -21,7 +21,7 @@ from twisted.internet.interfaces import IAddress, IConnector
 from twisted.internet.protocol import ReconnectingClientFactory
 from twisted.python.failure import Failure
 
-from synapse.api.constants import EventTypes
+from synapse.api.constants import EventTypes, ReceiptTypes
 from synapse.federation import send_queue
 from synapse.federation.sender import FederationSender
 from synapse.logging.context import PreserveLoggingContext, make_deferred_yieldable
@@ -401,10 +401,8 @@ class FederationSenderHandler:
             # we only want to send on receipts for our own users
             if not self._is_mine_id(receipt.user_id):
                 continue
-            if (
-                receipt.data.get("hidden", False)
-                and self._hs.config.experimental.msc2285_enabled
-            ):
+            # Private read receipts never get sent over federation.
+            if receipt.receipt_type == ReceiptTypes.READ_PRIVATE:
                 continue
             receipt_info = ReadReceipt(
                 receipt.room_id,