mirror of
https://github.com/element-hq/synapse
synced 2024-07-04 09:53:32 +00:00
Update comments
This commit is contained in:
parent
71eabe5e63
commit
39b4f10533
|
@ -756,10 +756,10 @@ class SlidingSyncHandler:
|
||||||
# Assemble the list of timeline events
|
# Assemble the list of timeline events
|
||||||
timeline_events: List[EventBase] = []
|
timeline_events: List[EventBase] = []
|
||||||
limited = False
|
limited = False
|
||||||
# We want to use `to_token` (vs `from_token`) because we look backwards from the
|
# We want to start off using the `to_token` (vs `from_token`) because we look
|
||||||
# `to_token` up to the `timeline_limit` and we might not reach `from_token`
|
# backwards from the `to_token` up to the `timeline_limit` and we might not
|
||||||
# before we hit the limit. We will update the room stream position once we've
|
# reach the `from_token` before we hit the limit. We will update the room stream
|
||||||
# fetched the events.
|
# position once we've fetched the events.
|
||||||
prev_batch_token = to_token
|
prev_batch_token = to_token
|
||||||
if room_sync_config.timeline_limit > 0:
|
if room_sync_config.timeline_limit > 0:
|
||||||
newly_joined = False
|
newly_joined = False
|
||||||
|
@ -803,6 +803,7 @@ class SlidingSyncHandler:
|
||||||
# most recent).
|
# most recent).
|
||||||
timeline_events.reverse()
|
timeline_events.reverse()
|
||||||
|
|
||||||
|
# Make sure we don't expose any events that the client shouldn't see
|
||||||
timeline_events = await filter_events_for_client(
|
timeline_events = await filter_events_for_client(
|
||||||
self.storage_controllers,
|
self.storage_controllers,
|
||||||
user.to_string(),
|
user.to_string(),
|
||||||
|
@ -851,11 +852,14 @@ class SlidingSyncHandler:
|
||||||
# this more with a binary search (bisect).
|
# this more with a binary search (bisect).
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# Update the `prev_batch_token` to point to the position that allows us to
|
||||||
|
# keep paginating backwards from the oldest event we return in the timeline.
|
||||||
prev_batch_token = prev_batch_token.copy_and_replace(
|
prev_batch_token = prev_batch_token.copy_and_replace(
|
||||||
StreamKeyType.ROOM, new_room_key
|
StreamKeyType.ROOM, new_room_key
|
||||||
)
|
)
|
||||||
|
|
||||||
# Figure out any stripped state events for invite/knocks
|
# Figure out any stripped state events for invite/knocks. This allows the
|
||||||
|
# potential joiner to identify the room.
|
||||||
stripped_state: List[JsonDict] = []
|
stripped_state: List[JsonDict] = []
|
||||||
if rooms_for_user_membership_at_to_token.membership in {
|
if rooms_for_user_membership_at_to_token.membership in {
|
||||||
Membership.INVITE,
|
Membership.INVITE,
|
||||||
|
|
|
@ -1874,7 +1874,7 @@ class SlidingSyncTestCase(unittest.HomeserverTestCase):
|
||||||
[],
|
[],
|
||||||
channel.json_body["rooms"][room_id1]["timeline"],
|
channel.json_body["rooms"][room_id1]["timeline"],
|
||||||
)
|
)
|
||||||
# We should have some stripped state so the potential joiner can identify the
|
# We should have some `stripped_state` so the potential joiner can identify the
|
||||||
# room (we don't care about the order).
|
# room (we don't care about the order).
|
||||||
self.assertCountEqual(
|
self.assertCountEqual(
|
||||||
channel.json_body["rooms"][room_id1]["invite_state"],
|
channel.json_body["rooms"][room_id1]["invite_state"],
|
||||||
|
|
Loading…
Reference in a new issue