Get rid of per room full_state flag
parent
8c3fca8b28
commit
7b3324e252
|
@ -787,11 +787,8 @@ class SyncHandler(object):
|
||||||
if include_all_tags:
|
if include_all_tags:
|
||||||
change = tag_changes.get(r.room_id)
|
change = tag_changes.get(r.room_id)
|
||||||
if change == TAG_CHANGE_NEWLY_TAGGED:
|
if change == TAG_CHANGE_NEWLY_TAGGED:
|
||||||
r.since_token = None
|
|
||||||
r.always_include = True
|
r.always_include = True
|
||||||
r.full_state = True
|
|
||||||
r.would_require_resync = True
|
r.would_require_resync = True
|
||||||
r.events = None
|
|
||||||
r.synced = True
|
r.synced = True
|
||||||
continue
|
continue
|
||||||
elif change == TAG_CHANGE_ALL_REMOVED:
|
elif change == TAG_CHANGE_ALL_REMOVED:
|
||||||
|
@ -808,14 +805,10 @@ class SyncHandler(object):
|
||||||
tok = SyncNextBatchToken.from_string(since)
|
tok = SyncNextBatchToken.from_string(since)
|
||||||
r.since_token = tok.stream_token
|
r.since_token = tok.stream_token
|
||||||
else:
|
else:
|
||||||
r.since_token = None
|
|
||||||
r.always_include = True
|
r.always_include = True
|
||||||
r.full_state = True
|
|
||||||
r.would_require_resync = True
|
r.would_require_resync = True
|
||||||
r.events = None
|
|
||||||
r.synced = False
|
r.synced = False
|
||||||
else:
|
else:
|
||||||
r.full_state = True
|
|
||||||
r.would_require_resync = True
|
r.would_require_resync = True
|
||||||
|
|
||||||
elif pagination_config and include_all_tags:
|
elif pagination_config and include_all_tags:
|
||||||
|
@ -856,11 +849,8 @@ class SyncHandler(object):
|
||||||
new_room_ids = set(r[0] for r in cutoff_list[pagination_limit:])
|
new_room_ids = set(r[0] for r in cutoff_list[pagination_limit:])
|
||||||
for r in room_entries:
|
for r in room_entries:
|
||||||
if r.room_id in new_room_ids:
|
if r.room_id in new_room_ids:
|
||||||
r.full_state = True
|
|
||||||
r.always_include = True
|
r.always_include = True
|
||||||
r.since_token = None
|
r.would_require_resync = True
|
||||||
r.upto_token = now_token
|
|
||||||
r.events = None
|
|
||||||
|
|
||||||
_, bottom_ts = cutoff_list[-1]
|
_, bottom_ts = cutoff_list[-1]
|
||||||
value = bottom_ts
|
value = bottom_ts
|
||||||
|
@ -1012,7 +1002,6 @@ class SyncHandler(object):
|
||||||
rtype="archived",
|
rtype="archived",
|
||||||
events=None,
|
events=None,
|
||||||
newly_joined=room_id in newly_joined_rooms,
|
newly_joined=room_id in newly_joined_rooms,
|
||||||
full_state=False,
|
|
||||||
since_token=since_token,
|
since_token=since_token,
|
||||||
upto_token=leave_token,
|
upto_token=leave_token,
|
||||||
))
|
))
|
||||||
|
@ -1042,7 +1031,6 @@ class SyncHandler(object):
|
||||||
rtype="joined",
|
rtype="joined",
|
||||||
events=events,
|
events=events,
|
||||||
newly_joined=room_id in newly_joined_rooms,
|
newly_joined=room_id in newly_joined_rooms,
|
||||||
full_state=False,
|
|
||||||
since_token=None if room_id in newly_joined_rooms else since_token,
|
since_token=None if room_id in newly_joined_rooms else since_token,
|
||||||
upto_token=prev_batch_token,
|
upto_token=prev_batch_token,
|
||||||
))
|
))
|
||||||
|
@ -1052,7 +1040,6 @@ class SyncHandler(object):
|
||||||
rtype="joined",
|
rtype="joined",
|
||||||
events=[],
|
events=[],
|
||||||
newly_joined=room_id in newly_joined_rooms,
|
newly_joined=room_id in newly_joined_rooms,
|
||||||
full_state=False,
|
|
||||||
since_token=since_token,
|
since_token=since_token,
|
||||||
upto_token=since_token,
|
upto_token=since_token,
|
||||||
))
|
))
|
||||||
|
@ -1096,7 +1083,6 @@ class SyncHandler(object):
|
||||||
rtype="joined",
|
rtype="joined",
|
||||||
events=None,
|
events=None,
|
||||||
newly_joined=False,
|
newly_joined=False,
|
||||||
full_state=True,
|
|
||||||
since_token=since_token,
|
since_token=since_token,
|
||||||
upto_token=now_token,
|
upto_token=now_token,
|
||||||
))
|
))
|
||||||
|
@ -1123,7 +1109,6 @@ class SyncHandler(object):
|
||||||
rtype="archived",
|
rtype="archived",
|
||||||
events=None,
|
events=None,
|
||||||
newly_joined=False,
|
newly_joined=False,
|
||||||
full_state=True,
|
|
||||||
since_token=since_token,
|
since_token=since_token,
|
||||||
upto_token=leave_token,
|
upto_token=leave_token,
|
||||||
))
|
))
|
||||||
|
@ -1154,8 +1139,7 @@ class SyncHandler(object):
|
||||||
or room_builder.always_include
|
or room_builder.always_include
|
||||||
)
|
)
|
||||||
full_state = (
|
full_state = (
|
||||||
room_builder.full_state
|
newly_joined
|
||||||
or newly_joined
|
|
||||||
or sync_result_builder.full_state
|
or sync_result_builder.full_state
|
||||||
or room_builder.would_require_resync
|
or room_builder.would_require_resync
|
||||||
)
|
)
|
||||||
|
@ -1204,11 +1188,10 @@ class SyncHandler(object):
|
||||||
return
|
return
|
||||||
|
|
||||||
if room_builder.would_require_resync:
|
if room_builder.would_require_resync:
|
||||||
since_token = None
|
|
||||||
batch = yield self._load_filtered_recents(
|
batch = yield self._load_filtered_recents(
|
||||||
room_id, sync_config,
|
room_id, sync_config,
|
||||||
now_token=upto_token,
|
now_token=upto_token,
|
||||||
since_token=since_token,
|
since_token=None,
|
||||||
recents=None,
|
recents=None,
|
||||||
newly_joined_room=newly_joined,
|
newly_joined_room=newly_joined,
|
||||||
)
|
)
|
||||||
|
@ -1417,11 +1400,11 @@ class RoomSyncResultBuilder(object):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__slots__ = (
|
__slots__ = (
|
||||||
"room_id", "rtype", "events", "newly_joined", "full_state", "since_token",
|
"room_id", "rtype", "events", "newly_joined", "since_token",
|
||||||
"upto_token", "always_include", "would_require_resync", "synced",
|
"upto_token", "always_include", "would_require_resync", "synced",
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, room_id, rtype, events, newly_joined, full_state,
|
def __init__(self, room_id, rtype, events, newly_joined,
|
||||||
since_token, upto_token):
|
since_token, upto_token):
|
||||||
"""
|
"""
|
||||||
Args:
|
Args:
|
||||||
|
@ -1430,7 +1413,6 @@ class RoomSyncResultBuilder(object):
|
||||||
events(list): List of events to include in the room, (more events
|
events(list): List of events to include in the room, (more events
|
||||||
may be added when generating result).
|
may be added when generating result).
|
||||||
newly_joined(bool): If the user has newly joined the room
|
newly_joined(bool): If the user has newly joined the room
|
||||||
full_state(bool): Whether the full state should be sent in result
|
|
||||||
since_token(StreamToken): Earliest point to return events from, or None
|
since_token(StreamToken): Earliest point to return events from, or None
|
||||||
upto_token(StreamToken): Latest point to return events from.
|
upto_token(StreamToken): Latest point to return events from.
|
||||||
"""
|
"""
|
||||||
|
@ -1438,9 +1420,9 @@ class RoomSyncResultBuilder(object):
|
||||||
self.rtype = rtype
|
self.rtype = rtype
|
||||||
self.events = events
|
self.events = events
|
||||||
self.newly_joined = newly_joined
|
self.newly_joined = newly_joined
|
||||||
self.full_state = full_state
|
|
||||||
self.since_token = since_token
|
self.since_token = since_token
|
||||||
self.upto_token = upto_token
|
self.upto_token = upto_token
|
||||||
|
|
||||||
self.always_include = False
|
self.always_include = False
|
||||||
self.would_require_resync = False
|
self.would_require_resync = False
|
||||||
self.synced = True
|
self.synced = True
|
||||||
|
|
Loading…
Reference in New Issue