diff --git a/app/client/views/character/characterSettings/shareDialog.js b/app/client/views/character/characterSettings/shareDialog.js index 6574fa84..13ad3e50 100644 --- a/app/client/views/character/characterSettings/shareDialog.js +++ b/app/client/views/character/characterSettings/shareDialog.js @@ -53,7 +53,7 @@ Template.shareDialog.events({ Characters.update(this._id, {$set: {"settings.viewPermission": value}}); }, "input #userNameOrEmailInput": - function(event, instance){ + _.debounce(function(event, instance){ var userName = instance.find("#userNameOrEmailInput").value; instance.userId.set(undefined); Meteor.call("getUserId", userName, function(err, result) { @@ -64,7 +64,7 @@ Template.shareDialog.events({ instance.userId.set(result); } }); - }, + }, 300), "click #shareButton": function(event, instance){ var self = this; var permission = instance.find("#accessLevelMenu").selected; diff --git a/app/lib/functions/shareCharacter.js b/app/lib/functions/shareCharacter.js index dcf94447..d206fc0f 100644 --- a/app/lib/functions/shareCharacter.js +++ b/app/lib/functions/shareCharacter.js @@ -1,14 +1,9 @@ Meteor.methods({ "getUserId": function(username){ if (!username) return; - regex = new RegExp("^" + username + "$", "i") - var user = Meteor.users.findOne( - {$or: [ - {username: username}, - {"emails.address": regex}, - {"services.google.email": regex}, - ]} - ); + if (Meteor.isClient) return; + let user = Accounts.findUserByUsername(username) || + Accounts.findUserByEmail(username); return user && user._id; } });