Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 83b7af1

Browse files
committed
Switch to stable prefixes for MSC2285
Signed-off-by: Šimon Brandner <[email protected]>
1 parent 599c403 commit 83b7af1

File tree

8 files changed

+25
-35
lines changed

8 files changed

+25
-35
lines changed

synapse/api/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ class GuestAccess:
257257

258258
class ReceiptTypes:
259259
READ: Final = "m.read"
260-
READ_PRIVATE: Final = "org.matrix.msc2285.read.private"
260+
READ_PRIVATE: Final = "m.read.private"
261261
FULLY_READ: Final = "m.fully_read"
262262

263263

synapse/config/experimental.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ def read_config(self, config: JsonDict, **kwargs: Any) -> None:
3232
# MSC2716 (importing historical messages)
3333
self.msc2716_enabled: bool = experimental.get("msc2716_enabled", False)
3434

35-
# MSC2285 (private read receipts)
36-
self.msc2285_enabled: bool = experimental.get("msc2285_enabled", False)
37-
3835
# MSC3244 (room version capabilities)
3936
self.msc3244_enabled: bool = experimental.get("msc3244_enabled", True)
4037

synapse/handlers/initial_sync.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ async def _snapshot_all_rooms(
143143
joined_rooms,
144144
to_key=int(now_token.receipt_key),
145145
)
146-
if self.hs.config.experimental.msc2285_enabled:
147-
receipt = ReceiptEventSource.filter_out_private_receipts(receipt, user_id)
146+
147+
receipt = ReceiptEventSource.filter_out_private_receipts(receipt, user_id)
148148

149149
tags_by_room = await self.store.get_tags_for_user(user_id)
150150

@@ -456,11 +456,8 @@ async def get_receipts() -> List[JsonDict]:
456456
)
457457
if not receipts:
458458
return []
459-
if self.hs.config.experimental.msc2285_enabled:
460-
receipts = ReceiptEventSource.filter_out_private_receipts(
461-
receipts, user_id
462-
)
463-
return receipts
459+
460+
return ReceiptEventSource.filter_out_private_receipts(receipts, user_id)
464461

465462
presence, receipts, (messages, token) = await make_deferred_yieldable(
466463
gather_results(

synapse/handlers/receipts.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,9 @@ async def get_new_events(
256256
room_ids, from_key=from_key, to_key=to_key
257257
)
258258

259-
if self.config.experimental.msc2285_enabled:
260-
events = ReceiptEventSource.filter_out_private_receipts(
261-
events, user.to_string()
262-
)
259+
events = ReceiptEventSource.filter_out_private_receipts(
260+
events, user.to_string()
261+
)
263262

264263
return events, to_key
265264

synapse/rest/client/read_marker.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ def __init__(self, hs: "HomeServer"):
4040
self.read_marker_handler = hs.get_read_marker_handler()
4141
self.presence_handler = hs.get_presence_handler()
4242

43-
self._known_receipt_types = {ReceiptTypes.READ, ReceiptTypes.FULLY_READ}
44-
if hs.config.experimental.msc2285_enabled:
45-
self._known_receipt_types.add(ReceiptTypes.READ_PRIVATE)
43+
self._known_receipt_types = {
44+
ReceiptTypes.READ,
45+
ReceiptTypes.FULLY_READ,
46+
ReceiptTypes.READ_PRIVATE,
47+
}
4648

4749
async def on_POST(
4850
self, request: SynapseRequest, room_id: str

synapse/rest/client/receipts.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ def __init__(self, hs: "HomeServer"):
4444
self.read_marker_handler = hs.get_read_marker_handler()
4545
self.presence_handler = hs.get_presence_handler()
4646

47-
self._known_receipt_types = {ReceiptTypes.READ}
48-
if hs.config.experimental.msc2285_enabled:
49-
self._known_receipt_types.update(
50-
(ReceiptTypes.READ_PRIVATE, ReceiptTypes.FULLY_READ)
51-
)
47+
self._known_receipt_types = {
48+
ReceiptTypes.READ,
49+
ReceiptTypes.READ_PRIVATE,
50+
ReceiptTypes.FULLY_READ,
51+
}
5252

5353
async def on_POST(
5454
self, request: SynapseRequest, room_id: str, receipt_type: str, event_id: str

synapse/rest/client/versions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def on_GET(self, request: Request) -> Tuple[int, JsonDict]:
9494
# Supports the busy presence state described in MSC3026.
9595
"org.matrix.msc3026.busy_presence": self.config.experimental.msc3026_enabled,
9696
# Supports receiving private read receipts as per MSC2285
97-
"org.matrix.msc2285": self.config.experimental.msc2285_enabled,
97+
"org.matrix.msc2285.stable": True, # TODO: Remove when MSC2285 becomes a part of the spec
9898
# Supports filtering of /publicRooms by room type MSC3827
9999
"org.matrix.msc3827": self.config.experimental.msc3827_enabled,
100100
# Adds support for importing historical messages as per MSC2716

tests/rest/client/test_sync.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
KnockingStrippedStateEventHelperMixin,
3939
)
4040
from tests.server import TimedOutException
41-
from tests.unittest import override_config
4241

4342

4443
class FilterTestCase(unittest.HomeserverTestCase):
@@ -408,15 +407,14 @@ def prepare(self, reactor: MemoryReactor, clock: Clock, hs: HomeServer) -> None:
408407
# Join the second user
409408
self.helper.join(room=self.room_id, user=self.user2, tok=self.tok2)
410409

411-
@override_config({"experimental_features": {"msc2285_enabled": True}})
412410
def test_private_read_receipts(self) -> None:
413411
# Send a message as the first user
414412
res = self.helper.send(self.room_id, body="hello", tok=self.tok)
415413

416414
# Send a private read receipt to tell the server the first user's message was read
417415
channel = self.make_request(
418416
"POST",
419-
f"/rooms/{self.room_id}/receipt/org.matrix.msc2285.read.private/{res['event_id']}",
417+
f"/rooms/{self.room_id}/receipt/m.read.private/{res['event_id']}",
420418
{},
421419
access_token=self.tok2,
422420
)
@@ -425,7 +423,6 @@ def test_private_read_receipts(self) -> None:
425423
# Test that the first user can't see the other user's private read receipt
426424
self.assertIsNone(self._get_read_receipt())
427425

428-
@override_config({"experimental_features": {"msc2285_enabled": True}})
429426
def test_public_receipt_can_override_private(self) -> None:
430427
"""
431428
Sending a public read receipt to the same event which has a private read
@@ -456,7 +453,6 @@ def test_public_receipt_can_override_private(self) -> None:
456453
# Test that we did override the private read receipt
457454
self.assertNotEqual(self._get_read_receipt(), None)
458455

459-
@override_config({"experimental_features": {"msc2285_enabled": True}})
460456
def test_private_receipt_cannot_override_public(self) -> None:
461457
"""
462458
Sending a private read receipt to the same event which has a public read
@@ -543,7 +539,6 @@ def default_config(self) -> JsonDict:
543539
config = super().default_config()
544540
config["experimental_features"] = {
545541
"msc2654_enabled": True,
546-
"msc2285_enabled": True,
547542
}
548543
return config
549544

@@ -625,7 +620,7 @@ def test_unread_counts(self) -> None:
625620
# Send a read receipt to tell the server we've read the latest event.
626621
channel = self.make_request(
627622
"POST",
628-
f"/rooms/{self.room_id}/receipt/org.matrix.msc2285.read.private/{res['event_id']}",
623+
f"/rooms/{self.room_id}/receipt/m.read.private/{res['event_id']}",
629624
{},
630625
access_token=self.tok,
631626
)
@@ -701,7 +696,7 @@ def test_unread_counts(self) -> None:
701696
self._check_unread_count(5)
702697
res2 = self.helper.send(self.room_id, "hello", tok=self.tok2)
703698

704-
# Make sure both m.read and org.matrix.msc2285.read.private advance
699+
# Make sure both m.read and m.read.private advance
705700
channel = self.make_request(
706701
"POST",
707702
f"/rooms/{self.room_id}/receipt/m.read/{res1['event_id']}",
@@ -713,7 +708,7 @@ def test_unread_counts(self) -> None:
713708

714709
channel = self.make_request(
715710
"POST",
716-
f"/rooms/{self.room_id}/receipt/org.matrix.msc2285.read.private/{res2['event_id']}",
711+
f"/rooms/{self.room_id}/receipt/m.read.private/{res2['event_id']}",
717712
{},
718713
access_token=self.tok,
719714
)
@@ -740,11 +735,11 @@ def test_read_receipts_only_go_down(self, receipt_type: ReceiptTypes) -> None:
740735
self.assertEqual(channel.code, 200, channel.json_body)
741736
self._check_unread_count(0)
742737

743-
# Make sure neither m.read nor org.matrix.msc2285.read.private make the
738+
# Make sure neither m.read nor m.read.private make the
744739
# read receipt go up to an older event
745740
channel = self.make_request(
746741
"POST",
747-
f"/rooms/{self.room_id}/receipt/org.matrix.msc2285.read.private/{res1['event_id']}",
742+
f"/rooms/{self.room_id}/receipt/m.read.private/{res1['event_id']}",
748743
{},
749744
access_token=self.tok,
750745
)

0 commit comments

Comments
 (0)