merge master

This commit is contained in:
Matthew Hodgson 2020-08-31 12:26:23 +03:00
commit cfa0be544d
38 changed files with 260 additions and 167 deletions

View file

@ -468,7 +468,7 @@ func (d *Database) addPDUDeltaToResponse(
wantFullState bool,
res *types.Response,
) (joinedRoomIDs []string, err error) {
txn, err := d.DB.BeginTx(ctx, &txReadOnlySnapshot)
txn, err := d.DB.BeginTx(context.TODO(), &txReadOnlySnapshot) // TODO: check mattn/go-sqlite3#764
if err != nil {
return nil, err
}
@ -594,20 +594,23 @@ func (d *Database) IncrementalSync(
joinedRoomIDs, err = d.addPDUDeltaToResponse(
ctx, device, r, numRecentEventsPerRoom, wantFullState, res,
)
if err != nil {
return nil, fmt.Errorf("d.addPDUDeltaToResponse: %w", err)
}
} else {
joinedRoomIDs, err = d.CurrentRoomState.SelectRoomIDsWithMembership(
ctx, nil, device.UserID, gomatrixserverlib.Join,
)
}
if err != nil {
return nil, err
if err != nil {
return nil, fmt.Errorf("d.CurrentRoomState.SelectRoomIDsWithMembership: %w", err)
}
}
err = d.addEDUDeltaToResponse(
fromPos, toPos, joinedRoomIDs, res,
)
if err != nil {
return nil, err
return nil, fmt.Errorf("d.addEDUDeltaToResponse: %w", err)
}
return res, nil
@ -649,7 +652,7 @@ func (d *Database) getResponseWithPDUsForCompleteSync(
// a consistent view of the database throughout. This includes extracting the sync position.
// This does have the unfortunate side-effect that all the matrixy logic resides in this function,
// but it's better to not hide the fact that this is being done in a transaction.
txn, err := d.DB.BeginTx(ctx, &txReadOnlySnapshot)
txn, err := d.DB.BeginTx(context.TODO(), &txReadOnlySnapshot) // TODO: check mattn/go-sqlite3#764
if err != nil {
return
}
@ -736,7 +739,7 @@ func (d *Database) CompleteSync(
ctx, res, device.UserID, numRecentEventsPerRoom,
)
if err != nil {
return nil, err
return nil, fmt.Errorf("d.getResponseWithPDUsForCompleteSync: %w", err)
}
// Use a zero value SyncPosition for fromPos so all EDU states are added.
@ -744,7 +747,7 @@ func (d *Database) CompleteSync(
types.NewStreamToken(0, 0, nil), toPos, joinedRoomIDs, res,
)
if err != nil {
return nil, err
return nil, fmt.Errorf("d.addEDUDeltaToResponse: %w", err)
}
return res, nil
@ -770,7 +773,7 @@ func (d *Database) addInvitesToResponse(
ctx, txn, userID, r,
)
if err != nil {
return err
return fmt.Errorf("d.Invites.SelectInviteEventsInRange: %w", err)
}
for roomID, inviteEvent := range invites {
ir := types.NewInviteResponse(inviteEvent)