diff --git a/synapse/handlers/receipts.py b/synapse/handlers/receipts.py index 4911a1153519..9fe980e72a94 100644 --- a/synapse/handlers/receipts.py +++ b/synapse/handlers/receipts.py @@ -267,6 +267,10 @@ async def get_new_events_as( ) # 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 662ea59d420c..7290eecfa1e2 100644 --- a/synapse/handlers/typing.py +++ b/synapse/handlers/typing.py @@ -481,6 +481,11 @@ async def get_new_events_as( 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 ):