Fix group update avatar handling
The avatar handler was being added to the list of promises too late, so we were storing the raw avatar protobuf (Long id, bytes key) rather than the downloaded/decrypted attachment data. Fixes #280
This commit is contained in:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user