1
0

Filter events_before and events_after in /context requests

While the current version of the spec doesn't say much about how this endpoint uses filters (see https://github.com/matrix-org/matrix-doc/issues/2338), the current implementation is that some fields of an EventFilter apply (the ones that are used when running the SQL query) and others don't (the ones that are used by the filter itself) because we don't call event_filter.filter(...). This seems counter-intuitive and probably not what we want so this commit fixes it.
This commit is contained in:
Brendan Abolivier
2019-11-05 12:21:59 +00:00
parent 4e1c7b79fa
commit 1dffa78701

View File

@@ -874,8 +874,10 @@ class RoomContextHandler(object):
room_id, event_id, before_limit, after_limit, event_filter
)
results["events_before"] = yield filter_evts(results["events_before"])
results["events_after"] = yield filter_evts(results["events_after"])
filtered_before_events = event_filter.filter(results["events_before"])
results["events_before"] = yield filter_evts(filtered_before_events)
filtered_after_events = event_filter.filter(results["events_after"])
results["events_after"] = yield filter_evts(filtered_after_events)
results["event"] = event
if results["events_after"]: