Ensure we never return a None event from _get_state_for_groups

This commit is contained in:
Erik Johnston 2015-08-18 11:44:10 +01:00
parent 0d4abf7777
commit 8199475ce0

View file

@ -405,16 +405,21 @@ class StateStore(SQLBaseStore):
state_event = state_events[event_id]
state_dict[(state_event.type, state_event.state_key)] = state_event
results[group] = state_dict
self._state_group_cache.update(
cache_seq_num,
key=group,
value=state_dict,
value=results[group],
full=(types is None),
)
# We replace here to remove all the entries with None values.
# Remove all the entries with None values. The None values were just
# used for bookkeeping in the cache.
for group, state_dict in results.items():
results[group] = {
key: value for key, value in state_dict.items() if value
key: event for key, event in state_dict.items()
if event
}
defer.returnValue(results)