mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-28 12:23:31 +01:00
Move all arrayBuffer<->base64 functions to be async
This commit is contained in:
@@ -32,13 +32,13 @@ function MessageReceiver(username, password, signalingKey, options = {}) {
|
||||
}
|
||||
|
||||
MessageReceiver.stringToArrayBuffer = string =>
|
||||
dcodeIO.ByteBuffer.wrap(string, 'binary').toArrayBuffer();
|
||||
Promise.resolve(dcodeIO.ByteBuffer.wrap(string, 'binary').toArrayBuffer());
|
||||
MessageReceiver.arrayBufferToString = arrayBuffer =>
|
||||
dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('binary');
|
||||
Promise.resolve(dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('binary'));
|
||||
MessageReceiver.stringToArrayBufferBase64 = string =>
|
||||
dcodeIO.ByteBuffer.wrap(string, 'base64').toArrayBuffer();
|
||||
Promise.resolve(dcodeIO.ByteBuffer.wrap(string, 'base64').toArrayBuffer());
|
||||
MessageReceiver.arrayBufferToStringBase64 = arrayBuffer =>
|
||||
dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('base64');
|
||||
Promise.resolve(dcodeIO.ByteBuffer.wrap(arrayBuffer).toString('base64'));
|
||||
|
||||
MessageReceiver.prototype = new textsecure.EventTarget();
|
||||
MessageReceiver.prototype.extend({
|
||||
@@ -271,13 +271,8 @@ MessageReceiver.prototype.extend({
|
||||
async queueAllCached() {
|
||||
const items = await this.getAllFromCache();
|
||||
for (let i = 0, max = items.length; i < max; i += 1) {
|
||||
if (i > 0 && i % 20 === 0) {
|
||||
window.log.info('queueAllCached: Giving event loop a rest');
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
await new Promise(resolve => setTimeout(resolve, 2000));
|
||||
}
|
||||
|
||||
this.queueCached(items[i]);
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
await this.queueCached(items[i]);
|
||||
}
|
||||
},
|
||||
async queueCached(item) {
|
||||
@@ -285,13 +280,13 @@ MessageReceiver.prototype.extend({
|
||||
let envelopePlaintext = item.envelope;
|
||||
|
||||
if (item.version === 2) {
|
||||
envelopePlaintext = MessageReceiver.stringToArrayBufferBase64(
|
||||
envelopePlaintext = await MessageReceiver.stringToArrayBufferBase64(
|
||||
envelopePlaintext
|
||||
);
|
||||
}
|
||||
|
||||
if (typeof envelopePlaintext === 'string') {
|
||||
envelopePlaintext = MessageReceiver.stringToArrayBuffer(
|
||||
envelopePlaintext = await MessageReceiver.stringToArrayBuffer(
|
||||
envelopePlaintext
|
||||
);
|
||||
}
|
||||
@@ -302,13 +297,13 @@ MessageReceiver.prototype.extend({
|
||||
let payloadPlaintext = decrypted;
|
||||
|
||||
if (item.version === 2) {
|
||||
payloadPlaintext = MessageReceiver.stringToArrayBufferBase64(
|
||||
payloadPlaintext = await MessageReceiver.stringToArrayBufferBase64(
|
||||
payloadPlaintext
|
||||
);
|
||||
}
|
||||
|
||||
if (typeof payloadPlaintext === 'string') {
|
||||
payloadPlaintext = MessageReceiver.stringToArrayBuffer(
|
||||
payloadPlaintext = await MessageReceiver.stringToArrayBuffer(
|
||||
payloadPlaintext
|
||||
);
|
||||
}
|
||||
@@ -375,12 +370,12 @@ MessageReceiver.prototype.extend({
|
||||
);
|
||||
});
|
||||
},
|
||||
addToCache(envelope, plaintext) {
|
||||
async addToCache(envelope, plaintext) {
|
||||
const id = this.getEnvelopeId(envelope);
|
||||
const data = {
|
||||
id,
|
||||
version: 2,
|
||||
envelope: MessageReceiver.arrayBufferToStringBase64(plaintext),
|
||||
envelope: await MessageReceiver.arrayBufferToStringBase64(plaintext),
|
||||
timestamp: Date.now(),
|
||||
attempts: 1,
|
||||
};
|
||||
@@ -399,10 +394,13 @@ MessageReceiver.prototype.extend({
|
||||
if (item.get('version') === 2) {
|
||||
item.set(
|
||||
'decrypted',
|
||||
MessageReceiver.arrayBufferToStringBase64(plaintext)
|
||||
await MessageReceiver.arrayBufferToStringBase64(plaintext)
|
||||
);
|
||||
} else {
|
||||
item.set('decrypted', MessageReceiver.arrayBufferToString(plaintext));
|
||||
item.set(
|
||||
'decrypted',
|
||||
await MessageReceiver.arrayBufferToString(plaintext)
|
||||
);
|
||||
}
|
||||
|
||||
return textsecure.storage.unprocessed.save(item.attributes);
|
||||
|
||||
Reference in New Issue
Block a user