diff --git a/.changeset/ldap-merge-email-lookup.md b/.changeset/ldap-merge-email-lookup.md new file mode 100644 index 0000000000000..58f788eb95e70 --- /dev/null +++ b/.changeset/ldap-merge-email-lookup.md @@ -0,0 +1,6 @@ +--- +'@rocket.chat/models': patch +'@rocket.chat/meteor': patch +--- + +Fixes LDAP sync failing to merge an existing user matched by email, which caused a `Username already exists` error when the user's username differed from the directory. diff --git a/packages/models/src/models/Users.ts b/packages/models/src/models/Users.ts index cd46792cc9a6e..5447ef4f167f5 100644 --- a/packages/models/src/models/Users.ts +++ b/packages/models/src/models/Users.ts @@ -2438,7 +2438,7 @@ export class UsersRaw extends BaseRaw> implements IU findOneWithoutLDAPByEmailAddress(emailAddress: string, options?: FindOptions) { const query = { - 'email.address': emailAddress.trim().toLowerCase(), + 'emails.address': emailAddress.trim().toLowerCase(), 'services.ldap': { $exists: false, },