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.
This commit is contained in:
parent
dcc7873700
commit
57f6f59e3e
|
@ -0,0 +1 @@
|
|||
Make use of the more robust `get_current_state` in `_get_state_map_for_room` to avoid breakages.
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue