A few small bugfixes
This commit is contained in:
parent
59d048ca06
commit
c5f9fae444
2 changed files with 36 additions and 23 deletions
|
@ -287,6 +287,9 @@ MessageReceiver.prototype.extend({
|
|||
}
|
||||
|
||||
envelope.id = envelope.serverGuid || window.getGuid();
|
||||
envelope.serverTimestamp = envelope.serverTimestamp
|
||||
? envelope.serverTimestamp.toNumber()
|
||||
: null;
|
||||
|
||||
return this.addToCache(envelope, plaintext).then(
|
||||
async () => {
|
||||
|
@ -404,6 +407,11 @@ MessageReceiver.prototype.extend({
|
|||
);
|
||||
}
|
||||
const envelope = textsecure.protobuf.Envelope.decode(envelopePlaintext);
|
||||
envelope.id = envelope.serverGuid || item.id;
|
||||
envelope.source = envelope.source || item.source;
|
||||
envelope.sourceDevice = envelope.sourceDevice || item.sourceDevice;
|
||||
envelope.serverTimestamp =
|
||||
envelope.serverTimestamp || item.serverTimestamp;
|
||||
|
||||
const { decrypted } = item;
|
||||
if (decrypted) {
|
||||
|
@ -516,15 +524,19 @@ MessageReceiver.prototype.extend({
|
|||
}
|
||||
|
||||
if (item.get('version') === 2) {
|
||||
item.set(
|
||||
'decrypted',
|
||||
await MessageReceiver.arrayBufferToStringBase64(plaintext)
|
||||
);
|
||||
item.set({
|
||||
source: envelope.source,
|
||||
sourceDevice: envelope.sourceDevice,
|
||||
serverTimestamp: envelope.serverTimestamp,
|
||||
decrypted: await MessageReceiver.arrayBufferToStringBase64(plaintext),
|
||||
});
|
||||
} else {
|
||||
item.set(
|
||||
'decrypted',
|
||||
await MessageReceiver.arrayBufferToString(plaintext)
|
||||
);
|
||||
item.set({
|
||||
source: envelope.source,
|
||||
sourceDevice: envelope.sourceDevice,
|
||||
serverTimestamp: envelope.serverTimestamp,
|
||||
decrypted: await MessageReceiver.arrayBufferToString(plaintext),
|
||||
});
|
||||
}
|
||||
|
||||
return textsecure.storage.unprocessed.save(item.attributes);
|
||||
|
@ -691,12 +703,7 @@ MessageReceiver.prototype.extend({
|
|||
.decrypt(
|
||||
window.Signal.Metadata.createCertificateValidator(serverTrustRoot),
|
||||
ciphertext.toArrayBuffer(),
|
||||
Math.min(
|
||||
envelope.serverTimestamp
|
||||
? envelope.serverTimestamp.toNumber()
|
||||
: Date.now(),
|
||||
Date.now()
|
||||
),
|
||||
Math.min(envelope.serverTimestamp || Date.now(), Date.now()),
|
||||
me
|
||||
)
|
||||
.then(
|
||||
|
@ -737,7 +744,7 @@ MessageReceiver.prototype.extend({
|
|||
throw error;
|
||||
}
|
||||
|
||||
return this.removeFromCache().then(() => {
|
||||
return this.removeFromCache(envelope).then(() => {
|
||||
throw error;
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue