Fix modifying events in ThirdPartyRules modules (#8564)

EventBuilder.build wants auth events these days
This commit is contained in:
Richard van der Hoff 2020-10-16 13:39:46 +01:00 committed by GitHub
parent 5649669c3c
commit da0090fdff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 2 deletions

1
changelog.d/8564.feature Normal file
View File

@ -0,0 +1 @@
Support modifying event content in `ThirdPartyRules` modules.

View File

@ -98,7 +98,7 @@ class EventBuilder:
return self._state_key is not None return self._state_key is not None
async def build( async def build(
self, prev_event_ids: List[str], auth_event_ids: Optional[List[str]] self, prev_event_ids: List[str], auth_event_ids: Optional[List[str]],
) -> EventBase: ) -> EventBase:
"""Transform into a fully signed and hashed event """Transform into a fully signed and hashed event

View File

@ -1364,7 +1364,12 @@ class EventCreationHandler:
for k, v in original_event.internal_metadata.get_dict().items(): for k, v in original_event.internal_metadata.get_dict().items():
setattr(builder.internal_metadata, k, v) setattr(builder.internal_metadata, k, v)
event = await builder.build(prev_event_ids=original_event.prev_event_ids()) # the event type hasn't changed, so there's no point in re-calculating the
# auth events.
event = await builder.build(
prev_event_ids=original_event.prev_event_ids(),
auth_event_ids=original_event.auth_event_ids(),
)
# we rebuild the event context, to be on the safe side. If nothing else, # we rebuild the event context, to be on the safe side. If nothing else,
# delta_ids might need an update. # delta_ids might need an update.