grapevine/src/api/client_server
Benjamin Lee 4c9728cbad
implement per-event timeline filtering on /sync
This is the filter.room.timeline.{senders,types,contains_url} fields, and
their associated not_* pairs.

I decided not to change the `prev_batch` calculation for sliding-sync to
use the new `oldest_event_count` value, because I'm not confident in the
correct behavior. The current sliding-sync behavior is gives `prev_batch
= oldest_event_count` except when there are no new events. In this
case, `oldest_event_count` is `None`, but the current sliding-sync
implementation uses `prev_batch = since`. This is definitely wrong,
because both `since` and `prev_batch` are exclusive bounds. If the
correct thing to do is to return the lower exclusive bound of the range
of events that may have been included in the timeline, then we would
want `since - 1`. The other option would be to return `prev_batch =
None`, like we have in sync v3. I don't know which of these is correct,
so I'm just gonna keep the current (definitely incorrect) behavior to
avoid making things worse.
2024-06-05 00:07:06 -07:00
..
account.rs upgrade all cargo dependencies 2024-05-26 19:47:00 -07:00
alias.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
backup.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
capabilities.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
config.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
context.rs upgrade all cargo dependencies 2024-05-26 19:47:00 -07:00
device.rs enable assigning_clones lint 2024-05-26 19:47:00 -07:00
directory.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
filter.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
keys.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
media.rs prevent xss via user-uploaded media 2024-05-19 21:05:02 -07:00
membership.rs upgrade all cargo dependencies 2024-05-26 19:47:00 -07:00
message.rs implement contains_url filter for /message 2024-06-04 20:02:42 -07:00
profile.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
push.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
read_marker.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
redact.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
relations.rs upgrade all cargo dependencies 2024-05-26 19:47:00 -07:00
report.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
room.rs upgrade all cargo dependencies 2024-05-26 19:47:00 -07:00
search.rs fix dropped events in search 2024-06-04 01:12:53 -07:00
session.rs rename password-related utils functions 2024-06-04 19:35:25 -07:00
space.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
state.rs upgrade all cargo dependencies 2024-05-26 19:47:00 -07:00
sync.rs implement per-event timeline filtering on /sync 2024-06-05 00:07:06 -07:00
tag.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
thirdparty.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
threads.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
to_device.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
typing.rs upgrade all cargo dependencies 2024-05-26 19:47:00 -07:00
unversioned.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
user_directory.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00
voip.rs rename Ruma to Ar 2024-05-19 19:04:20 -07:00