MatrixSynapse/synapse/events
Erik Johnston c72d26c1e1
Refactor `EventContext` (#12689)
Refactor how the `EventContext` class works, with the intention of reducing the amount of state we fetch from the DB during event processing.

The idea here is to get rid of the cached `current_state_ids` and `prev_state_ids` that live in the `EventContext`, and instead defer straight to the database (and its caching). 

One change that may have a noticeable effect is that we now no longer prefill the `get_current_state_ids` cache on a state change. However, that query is relatively light, since its just a case of reading a table from the DB (unlike fetching state at an event which is more heavyweight). For deployments with workers this cache isn't even used.


Part of #12684
2022-05-10 19:43:13 +00:00
..
__init__.py fix imports 2022-05-03 13:59:28 +01:00
builder.py Fix typechecker problems exposed by signedjson 1.1.2 (#12326) 2022-03-29 21:37:50 +00:00
presence_router.py Implement cancellation support/protection for module callbacks (#12568) 2022-05-09 12:31:14 +01:00
snapshot.py Refactor `EventContext` (#12689) 2022-05-10 19:43:13 +00:00
spamcheck.py Implement cancellation support/protection for module callbacks (#12568) 2022-05-09 12:31:14 +01:00
third_party_rules.py Implement cancellation support/protection for module callbacks (#12568) 2022-05-09 12:31:14 +01:00
utils.py Convert stringy power levels to integers on room upgrade (#12657) 2022-05-07 13:37:29 +01:00
validator.py Fix another jsonschema typecheck error (#11830) 2022-01-25 15:29:28 -05:00