diff --git a/ts/SignalProtocolStore.preload.ts b/ts/SignalProtocolStore.preload.ts index 64caaf3b38..715f7aa833 100644 --- a/ts/SignalProtocolStore.preload.ts +++ b/ts/SignalProtocolStore.preload.ts @@ -2653,7 +2653,7 @@ export class SignalProtocolStore extends EventEmitter { [pni]: registrationId, }), (async () => { - const newId = wrappingAdd24(signedPreKey.id(), 1); + const newId = Math.max(1, wrappingAdd24(signedPreKey.id(), 1)); log.warn(`${logId}: Updating next signed pre key id to ${newId}`); await itemStorage.put(SIGNED_PRE_KEY_ID_KEY[ServiceIdKind.PNI], newId); })(), @@ -2671,7 +2671,7 @@ export class SignalProtocolStore extends EventEmitter { if (!lastResortKyberPreKey) { return; } - const newId = wrappingAdd24(lastResortKyberPreKey.id(), 1); + const newId = Math.max(1, wrappingAdd24(lastResortKyberPreKey.id(), 1)); log.warn(`${logId}: Updating next kyber pre key id to ${newId}`); await itemStorage.put(KYBER_KEY_ID_KEY[ServiceIdKind.PNI], newId); })(), diff --git a/ts/textsecure/AccountManager.preload.ts b/ts/textsecure/AccountManager.preload.ts index 1457d8fa39..a505e4ca7d 100644 --- a/ts/textsecure/AccountManager.preload.ts +++ b/ts/textsecure/AccountManager.preload.ts @@ -477,7 +477,7 @@ export default class AccountManager extends EventTarget { signalProtocolStore.storePreKeys(ourServiceId, toSave), itemStorage.put( PRE_KEY_ID_KEY[serviceIdKind], - wrappingAdd24(startId, count) + Math.max(1, wrappingAdd24(startId, count)) ), ]); @@ -529,7 +529,7 @@ export default class AccountManager extends EventTarget { signalProtocolStore.storeKyberPreKeys(ourServiceId, toSave), itemStorage.put( KYBER_KEY_ID_KEY[serviceIdKind], - wrappingAdd24(startId, count) + Math.max(1, wrappingAdd24(startId, count)) ), ]); @@ -689,7 +689,7 @@ export default class AccountManager extends EventTarget { await itemStorage.put( SIGNED_PRE_KEY_ID_KEY[serviceIdKind], - wrappingAdd24(signedKeyId, 1) + Math.max(1, wrappingAdd24(signedKeyId, 1)) ); return key; @@ -761,7 +761,7 @@ export default class AccountManager extends EventTarget { await itemStorage.put( KYBER_KEY_ID_KEY[serviceIdKind], - wrappingAdd24(kyberKeyId, 1) + Math.max(1, wrappingAdd24(kyberKeyId, 1)) ); return record;