0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-12-19 15:43:58 +01:00

Search: Don't disregard grouping info in pagination tokens

This commit is contained in:
Erik Johnston 2015-12-01 16:36:46 +00:00
parent af96c6f4d3
commit 27c5e1b374

View file

@ -240,9 +240,18 @@ class SearchHandler(BaseHandler):
last_event_id = room_events[-1].event_id
pagination_token = results_map[last_event_id]["pagination_token"]
global_next_batch = encode_base64("%s\n%s\n%s" % (
"all", "", pagination_token
))
# We want to respect the given batch group and group keys so
# that if people blindly use the top level `next_batch` token
# it returns more from the same group (if applicable) rather
# than reverting to searching all results again.
if batch_group and batch_group_key:
global_next_batch = encode_base64("%s\n%s\n%s" % (
batch_group, batch_group_key, pagination_token
))
else:
global_next_batch = encode_base64("%s\n%s\n%s" % (
"all", "", pagination_token
))
for room_id, group in room_groups.items():
group["next_batch"] = encode_base64("%s\n%s\n%s" % (