synapse-product/synapse/handlers
Erik Johnston 5d3e306d9f
Clean up Notifier.on_new_room_event code path (#8288)
The idea here is that we pass the `max_stream_id` to everything, and only use the stream ID of the particular event to figure out *when* the max stream position has caught up to the event and we can notify people about it.

This is to maintain the distinction between the position of an item in the stream (i.e. event A has stream ID 513) and a token that can be used to partition the stream (i.e. give me all events after stream ID 352). This distinction becomes important when the tokens are more complicated than a single number, which they will be once we start tracking the position of multiple writers in the tokens.

The valid operations here are:

1. Is a position before or after a token
2. Fetching all events between two tokens
3. Merging multiple tokens to get the "max", i.e. `C = max(A, B)` means that for all positions P where P is before A *or* before B, then P is before C.

Future PR will change the token type to a dedicated type.
2020-09-10 13:24:43 +01:00
..
ui_auth Be stricter about JSON that is accepted by Synapse (#8106) 2020-08-19 07:26:03 -04:00
__init__.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
_base.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
account_data.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
account_validity.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
acme_issuing_service.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
acme.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
admin.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
appservice.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
auth.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
cas_handler.py Allow denying or shadow banning registrations via the spam checker (#8034) 2020-08-20 15:42:58 -04:00
deactivate_account.py Follow-up to admin API to re-activate accounts (#7908) 2020-07-22 12:33:19 -04:00
device.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
devicemessage.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
directory.py Stop shadow-banned users from sending non-member events. (#8142) 2020-08-24 13:58:56 -04:00
e2e_keys.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
e2e_room_keys.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
events.py Remove some unused distributor signals (#8216) 2020-09-09 12:22:00 -04:00
federation.py Clean up Notifier.on_new_room_event code path (#8288) 2020-09-10 13:24:43 +01:00
groups_local.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
identity.py Be stricter about JSON that is accepted by Synapse (#8106) 2020-08-19 07:26:03 -04:00
initial_sync.py Clean up types for PaginationConfig (#8250) 2020-09-08 15:00:17 +01:00
message.py Clean up Notifier.on_new_room_event code path (#8288) 2020-09-10 13:24:43 +01:00
oidc_handler.py Ensure that the OpenID Connect remote ID is a string. (#8190) 2020-08-28 08:56:36 -04:00
pagination.py Fix mypy error on develop (#8282) 2020-09-08 17:43:31 +01:00
password_policy.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
presence.py Clean up types for PaginationConfig (#8250) 2020-09-08 15:00:17 +01:00
profile.py Fix errors when updating the user directory with invalid data (#8223) 2020-09-01 13:02:41 -04:00
read_marker.py Port receipt and read markers to async/wait 2019-10-29 15:08:22 +00:00
receipts.py Clean up types for PaginationConfig (#8250) 2020-09-08 15:00:17 +01:00
register.py Allow denying or shadow banning registrations via the spam checker (#8034) 2020-08-20 15:42:58 -04:00
room_list.py Convert room list handler to async/await. (#7912) 2020-07-21 07:51:48 -04:00
room_member_worker.py Remove some unused distributor signals (#8216) 2020-09-09 12:22:00 -04:00
room_member.py Remove some unused distributor signals (#8216) 2020-09-09 12:22:00 -04:00
room.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
saml_handler.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
search.py Convert streams to async. (#8014) 2020-08-04 07:21:47 -04:00
set_password.py Hash passwords earlier in the password reset process (#7538) 2020-05-20 09:48:03 -04:00
state_deltas.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
stats.py Prevent join->join membership transitions changing member count (#7977) 2020-08-03 21:54:24 +01:00
sync.py Add types to StreamToken and RoomStreamToken (#8279) 2020-09-08 16:48:15 +01:00
typing.py Stop sub-classing object (#8249) 2020-09-04 06:54:56 -04:00
user_directory.py Fix errors when updating the user directory with invalid data (#8223) 2020-09-01 13:02:41 -04:00