@@ -574,7 +574,7 @@ async def create_event(
574574 state_map : Optional [StateMap [str ]] = None ,
575575 for_batch : bool = False ,
576576 current_state_group : Optional [int ] = None ,
577- ) -> Tuple [EventBase , EventContext ]:
577+ ) -> Tuple [EventBase , UnpersistedEventContextBase ]:
578578 """
579579 Given a dict from a client, create a new event. If bool for_batch is true, will
580580 create an event using the prev_event_ids, and will create an event context for
@@ -721,7 +721,6 @@ async def create_event(
721721 current_state_group = current_state_group ,
722722 )
723723
724- context = await unpersisted_context .persist (event )
725724
726725 # In an ideal world we wouldn't need the second part of this condition. However,
727726 # this behaviour isn't spec'd yet, meaning we should be able to deactivate this
@@ -739,7 +738,7 @@ async def create_event(
739738 assert state_map is not None
740739 prev_event_id = state_map .get ((EventTypes .Member , event .sender ))
741740 else :
742- prev_state_ids = await context .get_prev_state_ids (
741+ prev_state_ids = await unpersisted_context .get_prev_state_ids (
743742 StateFilter .from_types ([(EventTypes .Member , None )])
744743 )
745744 prev_event_id = prev_state_ids .get ((EventTypes .Member , event .sender ))
@@ -764,8 +763,7 @@ async def create_event(
764763 )
765764
766765 self .validator .validate_new (event , self .config )
767-
768- return event , context
766+ return event , unpersisted_context
769767
770768 async def _is_exempt_from_privacy_policy (
771769 self , builder : EventBuilder , requester : Requester
@@ -1005,7 +1003,7 @@ async def create_and_send_nonmember_event(
10051003 max_retries = 5
10061004 for i in range (max_retries ):
10071005 try :
1008- event , context = await self .create_event (
1006+ event , unpersisted_context = await self .create_event (
10091007 requester ,
10101008 event_dict ,
10111009 txn_id = txn_id ,
@@ -1016,6 +1014,7 @@ async def create_and_send_nonmember_event(
10161014 historical = historical ,
10171015 depth = depth ,
10181016 )
1017+ context = await unpersisted_context .persist (event )
10191018
10201019 assert self .hs .is_mine_id (event .sender ), "User must be our own: %s" % (
10211020 event .sender ,
@@ -1190,7 +1189,6 @@ async def create_new_client_event(
11901189 if for_batch :
11911190 assert prev_event_ids is not None
11921191 assert state_map is not None
1193- assert current_state_group is not None
11941192 auth_ids = self ._event_auth_handler .compute_auth_events (builder , state_map )
11951193 event = await builder .build (
11961194 prev_event_ids = prev_event_ids , auth_event_ids = auth_ids , depth = depth
@@ -2040,7 +2038,7 @@ async def _send_dummy_event_for_room(self, room_id: str) -> bool:
20402038 max_retries = 5
20412039 for i in range (max_retries ):
20422040 try :
2043- event , context = await self .create_event (
2041+ event , unpersisted_context = await self .create_event (
20442042 requester ,
20452043 {
20462044 "type" : EventTypes .Dummy ,
@@ -2049,6 +2047,7 @@ async def _send_dummy_event_for_room(self, room_id: str) -> bool:
20492047 "sender" : user_id ,
20502048 },
20512049 )
2050+ context = await unpersisted_context .persist (event )
20522051
20532052 event .internal_metadata .proactively_send = False
20542053
0 commit comments