diff --git a/changelog.d/4309.bugfix b/changelog.d/4309.bugfix new file mode 100644 index 000000000000..93b3a4f30bbe --- /dev/null +++ b/changelog.d/4309.bugfix @@ -0,0 +1 @@ +Fixed per-room account data filters diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 09739f2862ee..f7f768f7511e 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -1668,13 +1668,17 @@ def _generate_room_entry(self, sync_result_builder, ignored_users, "content": content, }) - account_data = sync_config.filter_collection.filter_room_account_data( + account_data_events = sync_config.filter_collection.filter_room_account_data( account_data_events ) ephemeral = sync_config.filter_collection.filter_room_ephemeral(ephemeral) - if not (always_include or batch or account_data or ephemeral or full_state): + if not (always_include + or batch + or account_data_events + or ephemeral + or full_state): return state = yield self.compute_state_delta( @@ -1745,7 +1749,7 @@ def _generate_room_entry(self, sync_result_builder, ignored_users, room_id=room_id, timeline=batch, state=state, - account_data=account_data, + account_data=account_data_events, ) if room_sync or always_include: sync_result_builder.archived.append(room_sync)