From c4bf48ee6fa4662d88a5bf682e79787851fe9cd8 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Tue, 28 Sep 2021 22:00:04 -0500 Subject: [PATCH] Fix event context for outliers in important MSC2716 spot (#10938) Fix event context for outlier causing failures in all of the MSC2716 Complement tests. The `EventContext.for_outlier` refactor happened in https://github.com/matrix-org/synapse/pull/10883 and this spot was left out. --- changelog.d/10938.bugfix | 1 + synapse/handlers/message.py | 13 ++++--------- 2 files changed, 5 insertions(+), 9 deletions(-) create mode 100644 changelog.d/10938.bugfix diff --git a/changelog.d/10938.bugfix b/changelog.d/10938.bugfix new file mode 100644 index 0000000000..9cf0ea8788 --- /dev/null +++ b/changelog.d/10938.bugfix @@ -0,0 +1 @@ +Fix bug introduced in Synapse 1.44 which caused the experimental [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint to return a 500 error. diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py index c66aefe2c4..fd861e94f8 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py @@ -952,18 +952,13 @@ class EventCreationHandler: depth=depth, ) - old_state = None - # Pass on the outlier property from the builder to the event # after it is created if builder.internal_metadata.outlier: - event.internal_metadata.outlier = builder.internal_metadata.outlier - - # Calculate the state for outliers that pass in their own `auth_event_ids` - if auth_event_ids: - old_state = await self.store.get_events_as_list(auth_event_ids) - - context = await self.state.compute_event_context(event, old_state=old_state) + event.internal_metadata.outlier = True + context = EventContext.for_outlier() + else: + context = await self.state.compute_event_context(event) if requester: context.app_service = requester.app_service