synapse-product/synapse/handlers
Sean Quah a00462dd99
Implement cancellation support/protection for module callbacks (#12568)
There's no guarantee that module callbacks will handle cancellation
appropriately. Protect module callbacks with read semantics from
cancellation and avoid swallowing `CancelledError`s that arise.

Other module callbacks, such as the `on_*` callbacks, are presumed to
live on code paths that involve writes and aren't cancellation-friendly.
These module callbacks have been left alone.

Signed-off-by: Sean Quah <seanq@element.io>
2022-05-09 12:31:14 +01:00
..
ui_auth Fix typo in some instances of enable_registration_token_3pid_bypass. (#12639) 2022-05-05 07:11:52 -04:00
__init__.py Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
account_data.py Add a module callback to react to account data changes (#12327) 2022-04-01 11:22:48 +02:00
account_validity.py Implement cancellation support/protection for module callbacks (#12568) 2022-05-09 12:31:14 +01:00
account.py Optionally include account validity in MSC3720 account status responses (#12266) 2022-03-24 11:19:41 +01:00
admin.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
appservice.py Add the notify_appservices_from_worker configuration option (superseding notify_appservices) to allow a generic worker to be designated as the worker to send traffic to Application Services. (#12452) 2022-05-06 11:43:53 +01:00
auth.py Implement cancellation support/protection for module callbacks (#12568) 2022-05-09 12:31:14 +01:00
cas.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
deactivate_account.py Add third_party module callbacks to check if a user can delete a room and deactivate a user (#12028) 2022-03-09 18:23:57 +00:00
device.py Mark remote device list updates as already handled (#12557) 2022-04-26 17:07:21 +01:00
devicemessage.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
directory.py Rename various ApplicationServices interested methods (#11915) 2022-03-03 18:14:09 +00:00
e2e_keys.py Refactor and convert Linearizer to async (#12357) 2022-04-05 15:43:52 +01:00
e2e_room_keys.py Refactor and convert Linearizer to async (#12357) 2022-04-05 15:43:52 +01:00
event_auth.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
events.py remove constantly lib use and switch to enums. (#12624) 2022-05-04 11:26:11 +00:00
federation_event.py remove constantly lib use and switch to enums. (#12624) 2022-05-04 11:26:11 +00:00
federation.py remove constantly lib use and switch to enums. (#12624) 2022-05-04 11:26:11 +00:00
groups_local.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
identity.py Use getClientAddress instead of getClientIP. (#12599) 2022-05-04 14:11:21 -04:00
initial_sync.py Use private instead of hidden in MSC2285 related code. (#12635) 2022-05-05 12:31:25 +00:00
message.py Update mypy to 0.950 and fix complaints (#12650) 2022-05-06 12:35:20 +00:00
oidc.py Remove unused # type: ignores (#12531) 2022-04-27 14:03:44 +01:00
pagination.py Generate historic pagination token for /messages when no ?from token provided (#12370) 2022-04-06 11:40:28 +01:00
password_policy.py Use direct references for some configuration variables (part 3) (#10885) 2021-09-23 07:13:34 -04:00
presence.py Prevent memory leak from reoccurring when presence is disabled. (#12656) 2022-05-06 16:41:57 +00:00
profile.py Always allow the empty string as an avatar_url. (#12261) 2022-03-25 13:28:42 +00:00
push_rules.py Add a module API to allow modules to edit push rule actions (#12406) 2022-04-27 13:55:33 +00:00
read_marker.py Refactor and convert Linearizer to async (#12357) 2022-04-05 15:43:52 +01:00
receipts.py Use private instead of hidden in MSC2285 related code. (#12635) 2022-05-05 12:31:25 +00:00
register.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
relations.py Edits/annotations should not have any bundled aggregations calculated. (#12633) 2022-05-05 08:15:12 -04:00
room_batch.py Optimise backfill calculation (#12522) 2022-04-26 10:27:11 +01:00
room_list.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
room_member_worker.py Implement knock feature (#6739) 2021-06-09 19:39:51 +01:00
room_member.py Refactor and convert Linearizer to async (#12357) 2022-04-05 15:43:52 +01:00
room_summary.py Support MSC3266 room summaries over federation (#11507) 2022-05-05 15:25:00 +01:00
room.py Convert stringy power levels to integers on room upgrade (#12657) 2022-05-07 13:37:29 +01:00
saml.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
search.py Remove unused # type: ignores (#12531) 2022-04-27 14:03:44 +01:00
send_email.py Remove unnecessary ignores due to Twisted upgrade. (#11939) 2022-02-08 09:15:59 -05:00
set_password.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
sso.py Use getClientAddress instead of getClientIP. (#12599) 2022-05-04 14:11:21 -04:00
state_deltas.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
stats.py Remove HomeServer.get_datastore() (#12031) 2022-02-23 11:04:02 +00:00
sync.py Implement changes to MSC2285 (hidden read receipts) (#12168) 2022-05-04 11:59:22 -04:00
typing.py Improve code documentation for the typing stream over replication. (#12211) 2022-03-11 14:00:15 +00:00
user_directory.py Correct check_username_for_spam annotations and docs (#12246) 2022-03-18 13:51:41 +00:00