MatrixSynapse/synapse
Erik Johnston 3dfc4a08dc
Fix performance regression in `get_users_in_room` (#13972)
Fixes #13942. Introduced in #13575.

Basically, let's only get the ordered set of hosts out of the DB if we need an ordered set of hosts. Since we split the function up the caching won't be as good, but I think it will still be fine as e.g. multiple backfill requests for the same room will hit the cache.
2022-09-30 13:15:32 +01:00
..
_scripts Allow admins to require a manual approval process before new accounts can be used (using MSC3866) (#13556) 2022-09-29 15:23:24 +02:00
api Allow admins to require a manual approval process before new accounts can be used (using MSC3866) (#13556) 2022-09-29 15:23:24 +02:00
app Handle the case of remote users leaving a partial join room for device lists (#13885) 2022-09-27 13:01:08 +01:00
appservice Add prometheus counters for content types other than events (#13175) 2022-07-13 15:18:20 +01:00
config Allow admins to require a manual approval process before new accounts can be used (using MSC3866) (#13556) 2022-09-29 15:23:24 +02:00
crypto Instrument `_check_sigs_and_hash_and_fetch` to trace time spent in child concurrent calls (#13588) 2022-08-23 21:53:37 -05:00
events fix: Push notifications for invite over federation (#13719) 2022-09-28 12:31:53 +00:00
federation Prioritize outbound to-device over device list updates (#13922) 2022-09-27 15:17:41 +01:00
handlers Fix performance regression in `get_users_in_room` (#13972) 2022-09-30 13:15:32 +01:00
http Fix mypy errors with latest canonicaljson (#13905) 2022-09-26 13:30:00 +01:00
logging Tag trace with instance name (#13761) 2022-09-09 11:31:37 -05:00
metrics Fix cache metrics not being updated when not using the legacy exposition module. (#13717) 2022-09-08 15:30:48 +01:00
module_api Add missing version information in the ModuleApi (#13947) 2022-09-30 12:27:21 +02:00
push Implement push rule evaluation in Rust. (#13838) 2022-09-29 16:12:09 +01:00
replication Allow admins to require a manual approval process before new accounts can be used (using MSC3866) (#13556) 2022-09-29 15:23:24 +02:00
res Add viewport directive to HTML templates to optimise for mobile (#13493) 2022-08-11 14:04:20 +01:00
rest Allow admins to require a manual approval process before new accounts can be used (using MSC3866) (#13556) 2022-09-29 15:23:24 +02:00
server_notices Directly lookup local membership instead of getting all members in a room first (`get_users_in_room` mis-use) (#13608) 2022-08-24 14:13:12 -05:00
spam_checker_api Fix import in module_api module and docs on the new check_event_for_spam signature (#12918) 2022-05-31 12:04:53 +02:00
state Prepatory work for batching events to send (#13487) 2022-09-28 10:39:03 +01:00
static Add viewport directive to HTML templates to optimise for mobile (#13493) 2022-08-11 14:04:20 +01:00
storage Fix performance regression in `get_users_in_room` (#13972) 2022-09-30 13:15:32 +01:00
streams Instrument `/messages` for understandable traces in Jaeger (#13368) 2022-08-03 10:57:38 -05:00
util Don't require `setuptools_rust` at runtime (#13952) 2022-09-29 20:16:08 +00:00
__init__.py Check if Rust lib needs rebuilding. (#13759) 2022-09-12 10:03:42 +00:00
event_auth.py Rename the `EventFormatVersions` enum values so that they line up with room version numbers. (#13706) 2022-09-07 11:08:20 +01:00
notifier.py Notifier: accept callbacks to fire on room joins (#13254) 2022-07-13 19:48:24 +01:00
py.typed Mark Module API error imports as re-exported and mark Synapse as containing type annotations (#11054) 2021-10-13 08:42:41 +01:00
server.py Fix error in `is_mine_id` when encountering a malformed ID (#13746) 2022-09-08 15:54:36 +01:00
types.py Accept & store thread IDs for receipts (implement MSC3771). (#13782) 2022-09-23 14:33:28 +00:00
visibility.py Add some miscellaneous comments around sync (#13474) 2022-08-10 12:58:20 +01:00