aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--userapi/storage/shared/storage.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/userapi/storage/shared/storage.go b/userapi/storage/shared/storage.go
index febf0322..72ae96ec 100644
--- a/userapi/storage/shared/storage.go
+++ b/userapi/storage/shared/storage.go
@@ -23,6 +23,7 @@ import (
"errors"
"fmt"
"strconv"
+ "strings"
"time"
"github.com/matrix-org/gomatrixserverlib"
@@ -298,7 +299,12 @@ func (d *Database) CheckAccountAvailability(ctx context.Context, localpart strin
// Returns sql.ErrNoRows if no account exists which matches the given localpart.
func (d *Database) GetAccountByLocalpart(ctx context.Context, localpart string,
) (*api.Account, error) {
- return d.Accounts.SelectAccountByLocalpart(ctx, localpart)
+ // try to get the account with lowercase localpart (majority)
+ acc, err := d.Accounts.SelectAccountByLocalpart(ctx, strings.ToLower(localpart))
+ if err == sql.ErrNoRows {
+ acc, err = d.Accounts.SelectAccountByLocalpart(ctx, localpart) // try with localpart as passed by the request
+ }
+ return acc, err
}
// SearchProfiles returns all profiles where the provided localpart or display name