From 5aa58f924f28909202cc48e22020f0ea207d52a7 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Mon, 31 Jul 2017 16:17:36 +0100 Subject: [PATCH] Move data batch retrieval --- .../matrix-org/dendrite/syncapi/sync/requestpool.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/github.com/matrix-org/dendrite/syncapi/sync/requestpool.go b/src/github.com/matrix-org/dendrite/syncapi/sync/requestpool.go index 85cbb6272..a207b8152 100644 --- a/src/github.com/matrix-org/dendrite/syncapi/sync/requestpool.go +++ b/src/github.com/matrix-org/dendrite/syncapi/sync/requestpool.go @@ -123,14 +123,15 @@ func (rp *RequestPool) appendAccountData( return nil, err } - global, rooms, err := rp.accountDB.GetAccountData(localpart) - if err != nil { - return nil, err - } - if req.since == types.StreamPosition(0) { // If this is the initial sync, we don't need to check if a data has - // already been sent + // already been sent. Instead, we send the whole batch. + var global []gomatrixserverlib.ClientEvent + var rooms map[string][]gomatrixserverlib.ClientEvent + global, rooms, err = rp.accountDB.GetAccountData(localpart) + if err != nil { + return nil, err + } data.AccountData.Events = global for r, j := range data.Rooms.Join {