From ec3481fbcc41b5ee79aaf82f70bf04bfc79b98c7 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Thu, 4 Jun 2015 20:58:16 -0300 Subject: [PATCH 1/6] Init migrations --- server/startup/indexes.coffee | 18 ++++++++++++------ server/startup/migrations/v4.coffee | 28 ++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 server/startup/migrations/v4.coffee diff --git a/server/startup/indexes.coffee b/server/startup/indexes.coffee index bae065df2d56c..696227f618ebc 100644 --- a/server/startup/indexes.coffee +++ b/server/startup/indexes.coffee @@ -1,8 +1,14 @@ Meteor.startup -> Meteor.defer -> - ChatMessage._ensureIndex({ 'expireAt': 1 }, { expireAfterSeconds: 0 }) - ChatMessage._ensureIndex({ 'rid': 1 }) - ChatMessage._ensureIndex({ 'rid': 1, 'ts': 1 }) - ChatSubscription._ensureIndex({ 'u._id': 1 }) - ChatSubscription._ensureIndex({ 'ts': 1 }) - ChatSubscription._ensureIndex({ 'rid': 1, 'u._id': 1 }, {unique: true}) + try ChatRoom._ensureIndex { 'name': 1 }, { unique: 1, sparse: 1 } catch e then console.log e + try ChatRoom._ensureIndex { 'u._id': 1 } catch e then console.log e + + try ChatSubscription._ensureIndex { 'rid': 1, 'u._id': 1 }, { unique: 1 } catch e then console.log e + try ChatSubscription._ensureIndex { 'u._id': 1, 'name': 1, 't': 1 }, { unique: 1 } catch e then console.log e + try ChatSubscription._ensureIndex { 'open': 1 } catch e then console.log e + try ChatSubscription._ensureIndex { 'alert': 1 } catch e then console.log e + try ChatSubscription._ensureIndex { 'unread': 1 } catch e then console.log e + try ChatSubscription._ensureIndex { 'ts': 1 } catch e then console.log e + + try ChatMessage._ensureIndex { 'rid': 1, 'ts': 1 } catch e then console.log e + try ChatMessage._ensureIndex { 'expireAt': 1 }, { expireAfterSeconds: 0 } catch e then console.log e diff --git a/server/startup/migrations/v4.coffee b/server/startup/migrations/v4.coffee new file mode 100644 index 0000000000000..5fa0f4561b9b7 --- /dev/null +++ b/server/startup/migrations/v4.coffee @@ -0,0 +1,28 @@ +# Meteor.startup -> +# Migrations.add +# version: 4 +# up: -> + + try ChatMessage._dropIndex 'rid_1' + try ChatSubscription._dropIndex 'u._id_1' + + + console.log 'Fixing ChatSubscription uid' + ChatSubscription.update({rn: {$exists: true}}, {$rename: {rn: 'name'}}, {multi: true}) + + ChatRoom.find({name: ''}).forEach (item) -> + name = Random.id().toLowerCase() + ChatRoom.update item._id, {$set: {name: name}} + ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} + + ChatRoom.find().forEach (room) -> + ChatRoom.find({name: room.name, _id: {$ne: room._id}}).forEach (item) -> + name = room.name + '-' + Random.id(2).toLowerCase() + ChatRoom.update item._id, {$set: {name: name}} + ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} + + ChatSubscription.find().forEach (item) -> + ChatSubscription.find({'u._id': item.u._id, name: item.name, t: item.t, _id: {$ne: item._id}}).forEach (subItem) -> + ChatSubscription.delete subItem._id + + console.log 'End' From 9fc3f0b0ddb3844afef5a6d8cbd9061780e38996 Mon Sep 17 00:00:00 2001 From: Gabriel Engel Date: Thu, 4 Jun 2015 21:21:06 -0300 Subject: [PATCH 2/6] removing test rooms --- server/startup/migrations/v4.coffee | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/startup/migrations/v4.coffee b/server/startup/migrations/v4.coffee index 5fa0f4561b9b7..1f1e533834ed7 100644 --- a/server/startup/migrations/v4.coffee +++ b/server/startup/migrations/v4.coffee @@ -21,8 +21,13 @@ ChatRoom.update item._id, {$set: {name: name}} ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} - ChatSubscription.find().forEach (item) -> - ChatSubscription.find({'u._id': item.u._id, name: item.name, t: item.t, _id: {$ne: item._id}}).forEach (subItem) -> - ChatSubscription.delete subItem._id + ChatRoom.find({msgs: {'$lt': 10}}).forEach (room) -> + ChatRoom.remove room._id + ChatMessage.remove {rid: room._id} + ChatSubscription.remove {rid: room._id} + + # ChatSubscription.find().forEach (item) -> + # ChatSubscription.find({'u._id': item.u._id, name: item.name, t: item.t, _id: {$ne: item._id}}).forEach (subItem) -> + # ChatSubscription.remove subItem._id console.log 'End' From f905a6c02b283cccaba55996f86b901e42f12015 Mon Sep 17 00:00:00 2001 From: Gabriel Engel Date: Fri, 5 Jun 2015 01:04:13 -0300 Subject: [PATCH 3/6] updating .gitignore --- .gitignore | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a59326e855b67..de5ce8ce69719 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,65 @@ +**/bin/** +**/build/* +**/node_modules/* +**/tmp/* +*.bak +*.iml +*.ipr +*.iws +*.launch +*.log +*.pydevproject +*.sublime-project +*.swp +*.tmp +*.tokens +*.un~ +*~ +*~.nib +.*.sw[a-z] +.\#* +._* +.buildpath +.classpath +.clover +.cproject +.DS_Store +.elasticbeanstalk +.elc +.emacs.desktop +.emacs.desktop.lock +.env +.externalToolBuilders +.idea +.loadpath +.map +.metadata .meteor/local .meteor/meteorite -.DS_Store -ecosystem.json +.mule +.pmd +.project +.sass-cache +.settings +.Spotlight-V100 +.Trashes +.wtpmodules +\#*\# +BuildInfo.js +Desktop.ini +ehthumbs.db +example.css +jrat.output +jrat.xml +local.properties +meteor-vulcanize +nb-configuration.xml +nbactions.xml +nbproject +profiles.xml +Session.vim +smart.lock +temp_* +Thumbs.db +thumbs.db +tramp From 5f6a9ce10b4f22371f10efb14bd73dc80ab416cb Mon Sep 17 00:00:00 2001 From: Gabriel Engel Date: Fri, 5 Jun 2015 01:49:32 -0300 Subject: [PATCH 4/6] changed rn for name --- client/views/app/sideNav/channels.coffee | 4 ++-- client/views/app/sideNav/chatRoomItem.coffee | 2 +- client/views/app/sideNav/directMessages.coffee | 4 ++-- client/views/app/sideNav/privateGroups.coffee | 4 ++-- client/views/app/sideNav/starredRooms.coffee | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/views/app/sideNav/channels.coffee b/client/views/app/sideNav/channels.coffee index 982dc1392cde2..ce58ff6dec52c 100644 --- a/client/views/app/sideNav/channels.coffee +++ b/client/views/app/sideNav/channels.coffee @@ -3,10 +3,10 @@ Template.channels.helpers return t('chatRooms.Members_placeholder') rooms: -> - return ChatSubscription.find { 'u._id': Meteor.userId(), t: { $in: ['c']}, f: { $ne: true } }, { sort: 't': 1, 'rn': 1 } + return ChatSubscription.find { 'u._id': Meteor.userId(), t: { $in: ['c']}, f: { $ne: true } }, { sort: 't': 1, 'name': 1 } total: -> - return ChatSubscription.find({ 'u._id': Meteor.userId(), t: { $in: ['c']}, f: { $ne: true } }, { sort: 't': 1, 'rn': 1 }).count() + return ChatSubscription.find({ 'u._id': Meteor.userId(), t: { $in: ['c']}, f: { $ne: true } }, { sort: 't': 1, 'name': 1 }).count() Template.channels.events 'click .add-room': (e, instance) -> diff --git a/client/views/app/sideNav/chatRoomItem.coffee b/client/views/app/sideNav/chatRoomItem.coffee index d87326a7e9e32..7baa908cb922c 100644 --- a/client/views/app/sideNav/chatRoomItem.coffee +++ b/client/views/app/sideNav/chatRoomItem.coffee @@ -17,7 +17,7 @@ Template.chatRoomItem.helpers else return '' name: -> - return this.rn + return this.name roomIcon: -> switch this.t diff --git a/client/views/app/sideNav/directMessages.coffee b/client/views/app/sideNav/directMessages.coffee index 20c419f423c9b..4fa7c9be0930f 100644 --- a/client/views/app/sideNav/directMessages.coffee +++ b/client/views/app/sideNav/directMessages.coffee @@ -1,5 +1,5 @@ Template.directMessages.helpers rooms: -> - return ChatSubscription.find { 'u._id': Meteor.userId(), t: { $in: ['d']}, f: { $ne: true } }, { sort: 't': 1, 'rn': 1 } + return ChatSubscription.find { 'u._id': Meteor.userId(), t: { $in: ['d']}, f: { $ne: true } }, { sort: 't': 1, 'name': 1 } total: -> - return ChatSubscription.find({ 'u._id': Meteor.userId(), t: { $in: ['d']}, f: { $ne: true } }, { sort: 't': 1, 'rn': 1 }).fetch().length + return ChatSubscription.find({ 'u._id': Meteor.userId(), t: { $in: ['d']}, f: { $ne: true } }, { sort: 't': 1, 'name': 1 }).fetch().length diff --git a/client/views/app/sideNav/privateGroups.coffee b/client/views/app/sideNav/privateGroups.coffee index 3a1a517001fa9..68bae70357d76 100644 --- a/client/views/app/sideNav/privateGroups.coffee +++ b/client/views/app/sideNav/privateGroups.coffee @@ -2,9 +2,9 @@ Template.privateGroups.helpers tRoomMembers: -> return t('chatRooms.Members_placeholder') rooms: -> - return ChatSubscription.find { 'u._id': Meteor.userId(), t: { $in: ['p']}, f: { $ne: true } }, { sort: 't': 1, 'rn': 1 } + return ChatSubscription.find { 'u._id': Meteor.userId(), t: { $in: ['p']}, f: { $ne: true } }, { sort: 't': 1, 'name': 1 } total: -> - return ChatSubscription.find({ 'u._id': Meteor.userId(), t: { $in: ['p']}, f: { $ne: true } }, { sort: 't': 1, 'rn': 1 }).fetch().length + return ChatSubscription.find({ 'u._id': Meteor.userId(), t: { $in: ['p']}, f: { $ne: true } }, { sort: 't': 1, 'name': 1 }).fetch().length Template.privateGroups.events 'click .add-room': (e, instance) -> diff --git a/client/views/app/sideNav/starredRooms.coffee b/client/views/app/sideNav/starredRooms.coffee index 5aa7be9d4d23a..c736e6c709c04 100644 --- a/client/views/app/sideNav/starredRooms.coffee +++ b/client/views/app/sideNav/starredRooms.coffee @@ -1,5 +1,5 @@ Template.starredRooms.helpers rooms: -> - return ChatSubscription.find { 'u._id': Meteor.userId(), f: true }, { sort: 't': 1, 'rn': 1 } + return ChatSubscription.find { 'u._id': Meteor.userId(), f: true }, { sort: 't': 1, 'name': 1 } total: -> - return ChatSubscription.find({ 'u._id': Meteor.userId(), f: true }, { sort: 't': 1, 'rn': 1 }).fetch().length \ No newline at end of file + return ChatSubscription.find({ 'u._id': Meteor.userId(), f: true }, { sort: 't': 1, 'name': 1 }).fetch().length From 3622564edf11b8c13775181411af84d5987d103b Mon Sep 17 00:00:00 2001 From: Gabriel Engel Date: Fri, 5 Jun 2015 02:24:31 -0300 Subject: [PATCH 5/6] changed rn for name --- server/methods/addUserToRoom.coffee | 2 +- server/methods/canAccessRoom.coffee | 2 +- server/methods/createChannel.coffee | 4 ++-- server/methods/createDirectRoom.coffee | 4 ++-- server/methods/createPrivateGroup.coffee | 4 ++-- server/methods/leaveRoom.coffee | 2 +- server/methods/saveRoomName.coffee | 2 +- server/methods/setUsername.coffee | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/server/methods/addUserToRoom.coffee b/server/methods/addUserToRoom.coffee index 4c257bd524d20..3b66dbc4a7577 100644 --- a/server/methods/addUserToRoom.coffee +++ b/server/methods/addUserToRoom.coffee @@ -28,7 +28,7 @@ Meteor.methods username: data.username rid: data.rid ts: (new Date()) - rn: room.name + name: room.name t: room.t unread: 0 diff --git a/server/methods/canAccessRoom.coffee b/server/methods/canAccessRoom.coffee index 5a5bc86752815..71f50fc14eebd 100644 --- a/server/methods/canAccessRoom.coffee +++ b/server/methods/canAccessRoom.coffee @@ -26,7 +26,7 @@ Meteor.methods ChatSubscription.upsert { rid: roomId, $and: [{'u._id': Meteor.userId()}] }, $setOnInsert: 'u._id': Meteor.userId() - rn: room.name + name: room.name t: room.t unread: 0 $set: diff --git a/server/methods/createChannel.coffee b/server/methods/createChannel.coffee index 6363516c9c0e2..7b82c861b8637 100644 --- a/server/methods/createChannel.coffee +++ b/server/methods/createChannel.coffee @@ -29,12 +29,12 @@ Meteor.methods continue sub = - u: + u: _id: member._id username: username rid: roomId ts: now - rn: name + name: name t: 'c' unread: 0 diff --git a/server/methods/createDirectRoom.coffee b/server/methods/createDirectRoom.coffee index a4fffc1feadd0..f9017fe5c6f94 100644 --- a/server/methods/createDirectRoom.coffee +++ b/server/methods/createDirectRoom.coffee @@ -28,7 +28,7 @@ Meteor.methods $set: ts: now ls: now - rn: userTo.name + name: userTo.name $setOnInsert: t: 'd' unread: 0 @@ -36,7 +36,7 @@ Meteor.methods ChatSubscription.upsert { $and: [{'u._id': userTo._id}], rid: roomId }, $set: - rn: me.name + name: me.name $setOnInsert: t: 'd' unread: 0 diff --git a/server/methods/createPrivateGroup.coffee b/server/methods/createPrivateGroup.coffee index 19ea205ada1f9..3e897ed1a9147 100644 --- a/server/methods/createPrivateGroup.coffee +++ b/server/methods/createPrivateGroup.coffee @@ -26,12 +26,12 @@ Meteor.methods continue sub = - u: + u: _id: member._id username: username rid: roomId ts: now - rn: name + name: name t: 'p' unread: 0 diff --git a/server/methods/leaveRoom.coffee b/server/methods/leaveRoom.coffee index d144ba1b49e58..bedd7d21b58ee 100644 --- a/server/methods/leaveRoom.coffee +++ b/server/methods/leaveRoom.coffee @@ -14,7 +14,7 @@ Meteor.methods ChatSubscription.update { rid: roomId }, $set: - rn: room.name + name: room.name , multi: true diff --git a/server/methods/saveRoomName.coffee b/server/methods/saveRoomName.coffee index 8b28dd7496210..dfd3f60e0cc6b 100644 --- a/server/methods/saveRoomName.coffee +++ b/server/methods/saveRoomName.coffee @@ -20,7 +20,7 @@ Meteor.methods ChatSubscription.update { rid: data.rid }, $set: - rn: newName + name: newName , multi: true diff --git a/server/methods/setUsername.coffee b/server/methods/setUsername.coffee index ef0967580fe58..1df033c752aad 100644 --- a/server/methods/setUsername.coffee +++ b/server/methods/setUsername.coffee @@ -39,7 +39,7 @@ Meteor.methods _id: user._id username: username ls: new Date() - rn: 'general' + name: 'general' t: 'c' f: true ts: new Date() From e0852271a9d054666897bb9c6248690c930b690f Mon Sep 17 00:00:00 2001 From: Gabriel Engel Date: Fri, 5 Jun 2015 02:31:46 -0300 Subject: [PATCH 6/6] removing test rooms --- server/startup/migrations/v4.coffee | 53 +++++++++++++++-------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/server/startup/migrations/v4.coffee b/server/startup/migrations/v4.coffee index 1f1e533834ed7..09d9b2a38b2af 100644 --- a/server/startup/migrations/v4.coffee +++ b/server/startup/migrations/v4.coffee @@ -1,33 +1,36 @@ -# Meteor.startup -> -# Migrations.add -# version: 4 -# up: -> +Meteor.startup -> + Migrations.add + version: 4 + up: -> - try ChatMessage._dropIndex 'rid_1' - try ChatSubscription._dropIndex 'u._id_1' + try ChatMessage._dropIndex 'rid_1' + try ChatSubscription._dropIndex 'u._id_1' - console.log 'Fixing ChatSubscription uid' - ChatSubscription.update({rn: {$exists: true}}, {$rename: {rn: 'name'}}, {multi: true}) + console.log 'Rename rn to name' + ChatSubscription.update({rn: {$exists: true}}, {$rename: {rn: 'name'}}, {multi: true}) - ChatRoom.find({name: ''}).forEach (item) -> - name = Random.id().toLowerCase() - ChatRoom.update item._id, {$set: {name: name}} - ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} - ChatRoom.find().forEach (room) -> - ChatRoom.find({name: room.name, _id: {$ne: room._id}}).forEach (item) -> - name = room.name + '-' + Random.id(2).toLowerCase() - ChatRoom.update item._id, {$set: {name: name}} - ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} + console.log 'Adding names to rooms without name' + ChatRoom.find({name: ''}).forEach (item) -> + name = Random.id().toLowerCase() + ChatRoom.update item._id, {$set: {name: name}} + ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} - ChatRoom.find({msgs: {'$lt': 10}}).forEach (room) -> - ChatRoom.remove room._id - ChatMessage.remove {rid: room._id} - ChatSubscription.remove {rid: room._id} - # ChatSubscription.find().forEach (item) -> - # ChatSubscription.find({'u._id': item.u._id, name: item.name, t: item.t, _id: {$ne: item._id}}).forEach (subItem) -> - # ChatSubscription.remove subItem._id + console.log 'Making room names unique' + ChatRoom.find().forEach (room) -> + ChatRoom.find({name: room.name, _id: {$ne: room._id}}).forEach (item) -> + name = room.name + '-' + Random.id(2).toLowerCase() + ChatRoom.update item._id, {$set: {name: name}} + ChatSubscription.update {rid: item._id}, {$set: {name: name}}, {multi: true} - console.log 'End' + + console.log 'Dropping test rooms with less than 10 messages' + ChatRoom.find({msgs: {'$lt': 10}}).forEach (room) -> + ChatRoom.remove room._id + ChatMessage.remove {rid: room._id} + ChatSubscription.remove {rid: room._id} + + + console.log 'End'