diff --git a/History.md b/History.md index b9a83f7da..ecd3d5229 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,7 @@ +## v0.14.4 + +* Usernames are now case and space insensitive. `John Smith`, `JohnSmith`, and `johnsmith` are now all considered to be the same username (thanks @splendido!). + ## v0.14.3 “TableScope” * Implemented Reactive Table for the Users dashboard (thanks @jshimko!). diff --git a/packages/telescope-post-by-feed/lib/feeds.js b/packages/telescope-post-by-feed/lib/feeds.js index 8dc7bcbf2..5ba083764 100644 --- a/packages/telescope-post-by-feed/lib/feeds.js +++ b/packages/telescope-post-by-feed/lib/feeds.js @@ -19,7 +19,7 @@ var feedSchema = new SimpleSchema({ } } }, - categories: { + categories: { type: [String], label: 'categories', optional: true, diff --git a/server/migrations.js b/server/migrations.js index 4967fa77e..1ff02a2ca 100644 --- a/server/migrations.js +++ b/server/migrations.js @@ -120,47 +120,6 @@ var migrationsList = { }); return i; }, - updateUserNames: function () { - var i = 0; - var allUsers = Meteor.users.find(); - console.log('> Found '+allUsers.count()+' users.\n'); - - allUsers.forEach(function(user){ - i++; - - // Perform the same transforms done by useraccounts with `lowercaseUsernames` set to `true` - var oldUsername = user.username; - var username = user.username; - username = username.trim().replace(/\s+/gm, ' '); - user.profile.username = user.profile.name || username; - delete user.profile.name; - username = username.toLowerCase().replace(/\s+/gm, ''); - user.username = username; - - if (user.emails.length > 0) { - _.each(user.emails, function(email){ - email.address = email.address.toLowerCase().replace(/\s+/gm, ''); - }); - } - - console.log('> Updating user '+user._id+' ('+oldUsername+' -> ' + user.username + ')'); - - try { - Meteor.users.update(user._id, { - $set: { - emails: user.emails, - profile: user.profile, - username: user.username, - }, - }); - } - catch (err) { - console.warn('> Unable to convert username ' + user.username + ' to lowercase!'); - console.warn('> Please try to fix it by hands!! :('); - } - }); - return i; - }, updateUserProfiles: function () { var i = 0; var allUsers = Meteor.users.find(); @@ -489,6 +448,47 @@ var migrationsList = { console.log("---------------------"); }); return i; + }, + updateUserNames: function () { + var i = 0; + var allUsers = Meteor.users.find(); + console.log('> Found '+allUsers.count()+' users.\n'); + + allUsers.forEach(function(user){ + i++; + + // Perform the same transforms done by useraccounts with `lowercaseUsernames` set to `true` + var oldUsername = user.username; + var username = user.username; + username = username.trim().replace(/\s+/gm, ' '); + user.profile.username = user.profile.name || username; + delete user.profile.name; + username = username.toLowerCase().replace(/\s+/gm, ''); + user.username = username; + + if (user.emails.length > 0) { + _.each(user.emails, function(email){ + email.address = email.address.toLowerCase().replace(/\s+/gm, ''); + }); + } + + console.log('> Updating user '+user._id+' ('+oldUsername+' -> ' + user.username + ')'); + + try { + Meteor.users.update(user._id, { + $set: { + emails: user.emails, + profile: user.profile, + username: user.username, + }, + }); + } + catch (err) { + console.warn('> Unable to convert username ' + user.username + ' to lowercase!'); + console.warn('> Please try to fix it by hand!! :('); + } + }); + return i; } };