|
|
@ -148,20 +148,26 @@
|
|
|
|
var conversation = new Whisper.Conversation({id: conversationId});
|
|
|
|
var conversation = new Whisper.Conversation({id: conversationId});
|
|
|
|
var attributes = {};
|
|
|
|
var attributes = {};
|
|
|
|
conversation.fetch().always(function() {
|
|
|
|
conversation.fetch().always(function() {
|
|
|
|
if (pushMessageContent.group &&
|
|
|
|
if (pushMessageContent.group) {
|
|
|
|
pushMessageContent.group.type === textsecure.protobuf.PushMessageContent.GroupContext.Type.UPDATE) {
|
|
|
|
if (pushMessageContent.group.type === textsecure.protobuf.PushMessageContent.GroupContext.Type.UPDATE) {
|
|
|
|
attributes = {
|
|
|
|
attributes = {
|
|
|
|
type : 'group',
|
|
|
|
type : 'group',
|
|
|
|
groupId : pushMessageContent.group.id,
|
|
|
|
groupId : pushMessageContent.group.id,
|
|
|
|
name : pushMessageContent.group.name,
|
|
|
|
name : pushMessageContent.group.name,
|
|
|
|
avatar : pushMessageContent.group.avatar,
|
|
|
|
avatar : pushMessageContent.group.avatar,
|
|
|
|
members : pushMessageContent.group.members,
|
|
|
|
members : pushMessageContent.group.members,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
var group_update = conversation.changedAttributes(_.pick(pushMessageContent.group, 'name', 'avatar'));
|
|
|
|
var group_update = conversation.changedAttributes(_.pick(pushMessageContent.group, 'name', 'avatar'));
|
|
|
|
var difference = _.difference(pushMessageContent.group.members, conversation.get('members'));
|
|
|
|
var difference = _.difference(pushMessageContent.group.members, conversation.get('members'));
|
|
|
|
if (difference.length > 0) {
|
|
|
|
if (difference.length > 0) {
|
|
|
|
group_update.joined = difference;
|
|
|
|
group_update.joined = difference;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (pushMessageContent.group.type === textsecure.protobuf.PushMessageContent.GroupContext.Type.QUIT) {
|
|
|
|
|
|
|
|
var group_update = { left: source };
|
|
|
|
|
|
|
|
attributes = { members: _.without(conversation.get('members'), source) };
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (_.keys(group_update).length > 0) {
|
|
|
|
if (_.keys(group_update).length > 0) {
|
|
|
|
message.set({group_update: group_update});
|
|
|
|
message.set({group_update: group_update});
|
|
|
|
}
|
|
|
|
}
|
|
|
|