diff --git a/js/libtextsecure.js b/js/libtextsecure.js index 5cc5c14229..b96d184f89 100644 --- a/js/libtextsecure.js +++ b/js/libtextsecure.js @@ -38781,14 +38781,18 @@ function processDecrypted(decrypted, source) { if (decrypted.group !== null) { decrypted.group.id = getString(decrypted.group.id); + + if (decrypted.group.type == textsecure.protobuf.GroupContext.Type.UPDATE) { + if (decrypted.group.avatar !== null) { + promises.push(handleAttachment(decrypted.group.avatar)); + } + } + promises.push(textsecure.storage.groups.getNumbers(decrypted.group.id).then(function(existingGroup) { if (existingGroup === undefined) { if (decrypted.group.type != textsecure.protobuf.GroupContext.Type.UPDATE) { throw new Error("Got message for unknown group"); } - if (decrypted.group.avatar !== null) { - promises.push(handleAttachment(decrypted.group.avatar)); - } return textsecure.storage.groups.createNewGroup(decrypted.group.members, decrypted.group.id); } else { var fromIndex = existingGroup.indexOf(source); @@ -38800,9 +38804,6 @@ function processDecrypted(decrypted, source) { switch(decrypted.group.type) { case textsecure.protobuf.GroupContext.Type.UPDATE: - if (decrypted.group.avatar !== null) - promises.push(handleAttachment(decrypted.group.avatar)); - return textsecure.storage.groups.updateNumbers( decrypted.group.id, decrypted.group.members ).then(function(added) { diff --git a/libtextsecure/helpers.js b/libtextsecure/helpers.js index 90e50fdca9..2332c44b68 100644 --- a/libtextsecure/helpers.js +++ b/libtextsecure/helpers.js @@ -170,14 +170,18 @@ function processDecrypted(decrypted, source) { if (decrypted.group !== null) { decrypted.group.id = getString(decrypted.group.id); + + if (decrypted.group.type == textsecure.protobuf.GroupContext.Type.UPDATE) { + if (decrypted.group.avatar !== null) { + promises.push(handleAttachment(decrypted.group.avatar)); + } + } + promises.push(textsecure.storage.groups.getNumbers(decrypted.group.id).then(function(existingGroup) { if (existingGroup === undefined) { if (decrypted.group.type != textsecure.protobuf.GroupContext.Type.UPDATE) { throw new Error("Got message for unknown group"); } - if (decrypted.group.avatar !== null) { - promises.push(handleAttachment(decrypted.group.avatar)); - } return textsecure.storage.groups.createNewGroup(decrypted.group.members, decrypted.group.id); } else { var fromIndex = existingGroup.indexOf(source); @@ -189,9 +193,6 @@ function processDecrypted(decrypted, source) { switch(decrypted.group.type) { case textsecure.protobuf.GroupContext.Type.UPDATE: - if (decrypted.group.avatar !== null) - promises.push(handleAttachment(decrypted.group.avatar)); - return textsecure.storage.groups.updateNumbers( decrypted.group.id, decrypted.group.members ).then(function(added) {