diff --git a/changelog.d/13174.bugfix b/changelog.d/13174.bugfix new file mode 100644 index 000000000..b17935b93 --- /dev/null +++ b/changelog.d/13174.bugfix @@ -0,0 +1 @@ +Make use of the more robust `get_current_state` in `_get_state_map_for_room` to avoid breakages. diff --git a/synapse/events/third_party_rules.py b/synapse/events/third_party_rules.py index 35f3f3690..72ab69689 100644 --- a/synapse/events/third_party_rules.py +++ b/synapse/events/third_party_rules.py @@ -464,14 +464,7 @@ class ThirdPartyEventRules: Returns: A dict mapping (event type, state key) to state event. """ - state_ids = await self._storage_controllers.state.get_current_state_ids(room_id) - room_state_events = await self.store.get_events(state_ids.values()) - - state_events = {} - for key, event_id in state_ids.items(): - state_events[key] = room_state_events[event_id] - - return state_events + return await self._storage_controllers.state.get_current_state(room_id) async def on_profile_update( self, user_id: str, new_profile: ProfileInfo, by_admin: bool, deactivation: bool