@@ -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
@@ -2042,7 +2040,7 @@ async def _send_dummy_event_for_room(self, room_id: str) -> bool:
20422040 max_retries = 5
20432041 for i in range (max_retries ):
20442042 try :
2045- event , context = await self .create_event (
2043+ event , unpersisted_context = await self .create_event (
20462044 requester ,
20472045 {
20482046 "type" : EventTypes .Dummy ,
@@ -2051,6 +2049,7 @@ async def _send_dummy_event_for_room(self, room_id: str) -> bool:
20512049 "sender" : user_id ,
20522050 },
20532051 )
2052+ context = await unpersisted_context .persist (event )
20542053
20552054 event .internal_metadata .proactively_send = False
20562055
0 commit comments