diff options
author | David Teller <D.O.Teller@gmail.com> | 2022-07-07 10:14:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-07 08:14:32 +0000 |
commit | 57f6f59e3eacac61038419639f234e1eb1f230ed (patch) | |
tree | afd52dde73c0e4395a64ffa404a998eaaf600774 /synapse/events/third_party_rules.py | |
parent | Add information on how the Synapse team does reviews. (#13132) (diff) | |
download | synapse-57f6f59e3eacac61038419639f234e1eb1f230ed.tar.xz |
Make `_get_state_map_for_room` not break when room state events don't contain an event id. (#13174)
Method `_get_state_map_for_room` seems to break in presence of some ill-formed events in the database. Reimplementing this method to use `get_current_state`, which is more robust to such events.
Diffstat (limited to 'synapse/events/third_party_rules.py')
-rw-r--r-- | synapse/events/third_party_rules.py | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/synapse/events/third_party_rules.py b/synapse/events/third_party_rules.py index 35f3f3690f..72ab696898 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 |