2 files changed, 9 insertions, 0 deletions
diff --git a/synapse/handlers/receipts.py b/synapse/handlers/receipts.py
index 4911a11535..9fe980e72a 100644
--- a/synapse/handlers/receipts.py
+++ b/synapse/handlers/receipts.py
@@ -267,6 +267,10 @@ class ReceiptEventSource(EventSource[int, JsonDict]):
)
# Then filter down to rooms that the AS can read
+ # TODO: This doesn't seem to honour an appservice's registration of room or
+ # namespace aliases. For instance, if an appservice registered a room namespace
+ # that matched this room, but it didn't have any members in the room, then that
+ # appservice wouldn't receive the read receipt.
events = []
for room_id, event in rooms_to_events.items():
if not await service.matches_user_in_member_list(room_id, self.store):
diff --git a/synapse/handlers/typing.py b/synapse/handlers/typing.py
index 662ea59d42..7290eecfa1 100644
--- a/synapse/handlers/typing.py
+++ b/synapse/handlers/typing.py
@@ -481,6 +481,11 @@ class TypingNotificationEventSource(EventSource[int, JsonDict]):
for room_id in handler._room_serials.keys():
if handler._room_serials[room_id] <= from_key:
continue
+
+ # TODO: This doesn't seem to honour an appservice's registration of room or
+ # namespace aliases. For instance, if an appservice registered a room namespace
+ # that matched this room, but it didn't have any members in the room, then that
+ # appservice wouldn't receive the typing event.
if not await service.matches_user_in_member_list(
room_id, handler.store
):
|