Honor messageKeysLimit, remove batching for session saves

This commit is contained in:
Scott Nonnenberg 2021-02-08 14:19:35 -08:00
parent 80871270c6
commit 9858ae0642
7 changed files with 87 additions and 36 deletions

2
ts/libsignal.d.ts vendored
View file

@ -202,7 +202,7 @@ export declare class SessionCipherClass {
constructor(
storage: StorageType,
remoteAddress: SignalProtocolAddressClass,
options?: any
options?: { messageKeysLimit?: number | boolean }
);
closeOpenSessionForDevice: () => Promise<void>;
decryptPreKeyWhisperMessage: (

View file

@ -937,7 +937,8 @@ class MessageReceiverInner extends EventTarget {
options
);
const secretSessionCipher = new window.Signal.Metadata.SecretSessionCipher(
window.textsecure.storage.protocol
window.textsecure.storage.protocol,
options
);
const me = {
@ -1096,6 +1097,12 @@ class MessageReceiverInner extends EventTarget {
error.identityKey
);
}
if (envelope.timestamp && envelope.timestamp.toNumber) {
// eslint-disable-next-line no-param-reassign
envelope.timestamp = envelope.timestamp.toNumber();
}
const ev = new Event('error');
ev.error = errorToThrow;
ev.proto = envelope;

View file

@ -285,7 +285,7 @@
"rule": "jQuery-load(",
"path": "js/signal_protocol_store.js",
"line": " await ConversationController.load();",
"lineNumber": 1022,
"lineNumber": 1035,
"reasonCategory": "falseMatch",
"updated": "2020-06-12T14:20:09.936Z"
},

5
ts/window.d.ts vendored
View file

@ -557,7 +557,10 @@ export class CertificateValidatorType {
}
export class SecretSessionCipherClass {
constructor(storage: StorageType);
constructor(
storage: StorageType,
options?: { messageKeysLimit?: number | boolean }
);
decrypt: (
validator: CertificateValidatorType,
ciphertext: ArrayBuffer,