diff --git a/www/common/common-messaging.js b/www/common/common-messaging.js index 91552b711..23da2bee6 100644 --- a/www/common/common-messaging.js +++ b/www/common/common-messaging.js @@ -50,6 +50,15 @@ define([ return proxy.friends || {}; }; + Msg.getFriendChannelsList = function (common) { + var friends = getFriendList(common); + var list = []; + Object.keys(friends).forEach(function (key) { + list.push(friends[key].channel); + }); + return list; + }; + // Messaging tools var avatars = {}; @@ -332,7 +341,9 @@ define([ if (friends[pubKey]) { return void cb("E_EXISTS"); } friends[pubKey] = data; - common.whenRealtimeSyncs(common.getRealtime(), cb); + common.whenRealtimeSyncs(common.getRealtime(), function () { + common.pinPads([data.channel], cb); + }); common.changeDisplayName(proxy[common.displayNameKey]); }; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 2ce204a9d..c85fe9ca2 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -116,6 +116,7 @@ define([ common.inviteFromUserlist = Messaging.inviteFromUserlist; common.createOwnedChannel = Messaging.createOwnedChannel; common.getFriendList = Messaging.getFriendList; + common.getFriendChannelsList = Messaging.getFriendChannelsList; common.getFriendListUI = Messaging.getFriendListUI; common.createData = Messaging.createData; @@ -751,6 +752,11 @@ define([ if (avatarChan) { list.push(avatarChan); } } + if (getProxy().friends) { + var fList = common.getFriendChannelsList(common); + list = list.concat(fList); + } + list.push(common.base64ToHex(userChannel)); list.sort();