mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-17 11:10:21 -04:00
Directly lookup local membership instead of getting all members in a room first (get_users_in_room
mis-use) (#13608)
See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755
This commit is contained in:
parent
b93bd95e8a
commit
d58615c82c
8 changed files with 60 additions and 17 deletions
|
@ -999,7 +999,7 @@ class BundledAggregationsTestCase(BaseRelationsTestCase):
|
|||
bundled_aggregations,
|
||||
)
|
||||
|
||||
self._test_bundled_aggregations(RelationTypes.ANNOTATION, assert_annotations, 6)
|
||||
self._test_bundled_aggregations(RelationTypes.ANNOTATION, assert_annotations, 7)
|
||||
|
||||
def test_annotation_to_annotation(self) -> None:
|
||||
"""Any relation to an annotation should be ignored."""
|
||||
|
@ -1035,7 +1035,7 @@ class BundledAggregationsTestCase(BaseRelationsTestCase):
|
|||
bundled_aggregations,
|
||||
)
|
||||
|
||||
self._test_bundled_aggregations(RelationTypes.REFERENCE, assert_annotations, 6)
|
||||
self._test_bundled_aggregations(RelationTypes.REFERENCE, assert_annotations, 7)
|
||||
|
||||
def test_thread(self) -> None:
|
||||
"""
|
||||
|
@ -1080,21 +1080,21 @@ class BundledAggregationsTestCase(BaseRelationsTestCase):
|
|||
|
||||
# The "user" sent the root event and is making queries for the bundled
|
||||
# aggregations: they have participated.
|
||||
self._test_bundled_aggregations(RelationTypes.THREAD, _gen_assert(True), 8)
|
||||
self._test_bundled_aggregations(RelationTypes.THREAD, _gen_assert(True), 9)
|
||||
# The "user2" sent replies in the thread and is making queries for the
|
||||
# bundled aggregations: they have participated.
|
||||
#
|
||||
# Note that this re-uses some cached values, so the total number of
|
||||
# queries is much smaller.
|
||||
self._test_bundled_aggregations(
|
||||
RelationTypes.THREAD, _gen_assert(True), 2, access_token=self.user2_token
|
||||
RelationTypes.THREAD, _gen_assert(True), 3, access_token=self.user2_token
|
||||
)
|
||||
|
||||
# A user with no interactions with the thread: they have not participated.
|
||||
user3_id, user3_token = self._create_user("charlie")
|
||||
self.helper.join(self.room, user=user3_id, tok=user3_token)
|
||||
self._test_bundled_aggregations(
|
||||
RelationTypes.THREAD, _gen_assert(False), 2, access_token=user3_token
|
||||
RelationTypes.THREAD, _gen_assert(False), 3, access_token=user3_token
|
||||
)
|
||||
|
||||
def test_thread_with_bundled_aggregations_for_latest(self) -> None:
|
||||
|
@ -1142,7 +1142,7 @@ class BundledAggregationsTestCase(BaseRelationsTestCase):
|
|||
bundled_aggregations["latest_event"].get("unsigned"),
|
||||
)
|
||||
|
||||
self._test_bundled_aggregations(RelationTypes.THREAD, assert_thread, 8)
|
||||
self._test_bundled_aggregations(RelationTypes.THREAD, assert_thread, 9)
|
||||
|
||||
def test_nested_thread(self) -> None:
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue