aboutsummaryrefslogtreecommitdiff
path: root/syncapi
diff options
context:
space:
mode:
authorTill <2353100+S7evinK@users.noreply.github.com>2022-04-25 19:04:46 +0200
committerGitHub <noreply@github.com>2022-04-25 19:04:46 +0200
commite95fc5c5e3e4945949fbc1e9036c599687925a4d (patch)
treed3f8f62d96eb310cc63b3985328c71d66c0f8efe /syncapi
parentaad81b7b4dcf971508cde266c5ae99e35261bf27 (diff)
Use provided filter for account_data (#2372)
* Reuse IncrementalSync, use provided filter * Inform SyncAPI about newly created push_rules
Diffstat (limited to 'syncapi')
-rw-r--r--syncapi/streams/stream_accountdata.go35
1 files changed, 2 insertions, 33 deletions
diff --git a/syncapi/streams/stream_accountdata.go b/syncapi/streams/stream_accountdata.go
index 105d8526..094c5148 100644
--- a/syncapi/streams/stream_accountdata.go
+++ b/syncapi/streams/stream_accountdata.go
@@ -30,37 +30,7 @@ func (p *AccountDataStreamProvider) CompleteSync(
ctx context.Context,
req *types.SyncRequest,
) types.StreamPosition {
- dataReq := &userapi.QueryAccountDataRequest{
- UserID: req.Device.UserID,
- }
- dataRes := &userapi.QueryAccountDataResponse{}
- if err := p.userAPI.QueryAccountData(ctx, dataReq, dataRes); err != nil {
- req.Log.WithError(err).Error("p.userAPI.QueryAccountData failed")
- return p.LatestPosition(ctx)
- }
- for datatype, databody := range dataRes.GlobalAccountData {
- req.Response.AccountData.Events = append(
- req.Response.AccountData.Events,
- gomatrixserverlib.ClientEvent{
- Type: datatype,
- Content: gomatrixserverlib.RawJSON(databody),
- },
- )
- }
- for r, j := range req.Response.Rooms.Join {
- for datatype, databody := range dataRes.RoomAccountData[r] {
- j.AccountData.Events = append(
- j.AccountData.Events,
- gomatrixserverlib.ClientEvent{
- Type: datatype,
- Content: gomatrixserverlib.RawJSON(databody),
- },
- )
- req.Response.Rooms.Join[r] = j
- }
- }
-
- return p.LatestPosition(ctx)
+ return p.IncrementalSync(ctx, req, 0, p.LatestPosition(ctx))
}
func (p *AccountDataStreamProvider) IncrementalSync(
@@ -72,10 +42,9 @@ func (p *AccountDataStreamProvider) IncrementalSync(
From: from,
To: to,
}
- accountDataFilter := gomatrixserverlib.DefaultEventFilter() // TODO: use filter provided in req instead
dataTypes, err := p.DB.GetAccountDataInRange(
- ctx, req.Device.UserID, r, &accountDataFilter,
+ ctx, req.Device.UserID, r, &req.Filter.AccountData,
)
if err != nil {
req.Log.WithError(err).Error("p.DB.GetAccountDataInRange failed")