Use default sync filter if specified filter is not found (should fix
MODIFY
syncapi/sync/request.go
syncapi/sync/request.go
package sync
import (
+ "database/sql"
"encoding/json"
"fmt"
"net/http"
@@ -60,10 +61,10 @@ func newSyncRequest(req *http.Request, device userapi.Device, syncDB storage.Dat
util.GetLogger(req.Context()).WithError(err).Error("gomatrixserverlib.SplitID failed")
return nil, fmt.Errorf("gomatrixserverlib.SplitID: %w", err)
}
- if f, err := syncDB.GetFilter(req.Context(), localpart, filterQuery); err != nil {
+ if f, err := syncDB.GetFilter(req.Context(), localpart, filterQuery); err != nil && err != sql.ErrNoRows {
util.GetLogger(req.Context()).WithError(err).Error("syncDB.GetFilter failed")
return nil, fmt.Errorf("syncDB.GetFilter: %w", err)
- } else {
+ } else if f != nil {
filter = *f
}
}

Use default sync filter if specified filter is not found (should fix #2350) (#2351)