Basically, if the client sets a special query param on /sync v2 instead of responding with state at the start of the timeline, we instead respond with state_after at the end of the timeline.
We do this by using the current_state_delta_stream table, which is actually reliable, rather than messing around with "state at" points on the timeline.
Basically, if the client sets a special query param on
/sync
v2 instead of responding withstate
at the start of the timeline, we instead respond withstate_after
at the end of the timeline.We do this by using the
current_state_delta_stream
table, which is actually reliable, rather than messing around with "state at" points on the timeline.c.f. MSC4222
Reviewable commit-by-commit.