0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-11-15 22:42:23 +01:00

Don't mutate cached values

This commit is contained in:
Erik Johnston 2016-01-22 16:03:55 +00:00
parent 74f49f99f9
commit db6e26bb8c

View file

@ -55,11 +55,15 @@ def _get_rules(room_id, user_ids, store):
user_enabled_map = rules_enabled_by_user[uid] user_enabled_map = rules_enabled_by_user[uid]
for rule in rules_by_user[uid]: for i, rule in enumerate(rules_by_user[uid]):
rule_id = rule['rule_id'] rule_id = rule['rule_id']
if rule_id in user_enabled_map: if rule_id in user_enabled_map:
rule['enabled'] = user_enabled_map[rule_id] if rule.get('enabled', True) != bool(user_enabled_map[rule_id]):
# Rules are cached across users.
rule = dict(rule)
rule['enabled'] = bool(user_enabled_map[rule_id])
rules_by_user[uid][i] = rule
defer.returnValue(rules_by_user) defer.returnValue(rules_by_user)