Merge branch 'unfriend' into staging
commit
728c2716b4
|
@ -564,7 +564,8 @@ define([
|
|||
onDirectMessage(msg, sender);
|
||||
});
|
||||
|
||||
var removeFriend = function (curvePublic, cb) {
|
||||
var removeFriend = function (curvePublic, _cb) {
|
||||
var cb = Util.once(_cb);
|
||||
if (typeof(cb) !== 'function') { throw new Error('NO_CALLBACK'); }
|
||||
var data = getFriend(proxy, curvePublic);
|
||||
|
||||
|
@ -590,18 +591,29 @@ define([
|
|||
var cryptMsg = channel.encrypt(msgStr);
|
||||
|
||||
try {
|
||||
channel.wc.bcast(cryptMsg).then(function () {
|
||||
removeFromFriendList(curvePublic, function () {
|
||||
delete channels[channel.id];
|
||||
emit('UNFRIEND', {
|
||||
curvePublic: curvePublic,
|
||||
fromMe: true
|
||||
if (store.mailbox && data.curvePublic && data.notifications) {
|
||||
store.mailbox.sendTo('UNFRIEND', {
|
||||
curvePublic: proxy.curvePublic
|
||||
}, {
|
||||
channel: data.notifications,
|
||||
curvePublic: data.curvePublic
|
||||
}, function (obj) {
|
||||
console.log(obj);
|
||||
if (obj && obj.error) {
|
||||
return void cb(obj);
|
||||
}
|
||||
removeFromFriendList(curvePublic, function () {
|
||||
delete channels[channel.id];
|
||||
emit('UNFRIEND', {
|
||||
curvePublic: curvePublic,
|
||||
fromMe: true
|
||||
});
|
||||
cb();
|
||||
});
|
||||
cb();
|
||||
});
|
||||
}, function (err) {
|
||||
}
|
||||
channel.wc.bcast(cryptMsg).then(function () {}, function (err) {
|
||||
console.error(err);
|
||||
cb({error: err});
|
||||
});
|
||||
} catch (e) {
|
||||
cb({error: e});
|
||||
|
|
|
@ -132,6 +132,17 @@ define([
|
|||
}
|
||||
};
|
||||
|
||||
handlers['UNFRIEND'] = function (ctx, box, data, cb) {
|
||||
var curve = data.msg.content.curvePublic;
|
||||
var friend = Messaging.getFriend(ctx.store.proxy, curve);
|
||||
if (!friend) { return void cb(true); }
|
||||
delete ctx.store.proxy.friends[curve];
|
||||
if (ctx.store.messenger) {
|
||||
ctx.store.messenger.onFriendRemoved(curve, friend.channel);
|
||||
}
|
||||
ctx.updateMetadata();
|
||||
cb(true);
|
||||
};
|
||||
|
||||
return {
|
||||
add: function (ctx, box, data, cb) {
|
||||
|
|
Loading…
Reference in New Issue