@queenanya/baileys 9.2.1 → 9.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +531 -445
- package/WAProto/fix-imports.js +70 -18
- package/WAProto/index.js +197 -160
- package/engine-requirements.js +7 -7
- package/lib/Defaults/index.d.ts +12 -0
- package/lib/Defaults/index.d.ts.map +1 -1
- package/lib/Defaults/index.js +17 -5
- package/lib/Defaults/index.js.map +1 -1
- package/lib/Signal/libsignal.d.ts.map +1 -1
- package/lib/Signal/libsignal.js +63 -2
- package/lib/Signal/libsignal.js.map +1 -1
- package/lib/Signal/lid-mapping.d.ts +5 -9
- package/lib/Signal/lid-mapping.d.ts.map +1 -1
- package/lib/Signal/lid-mapping.js +170 -70
- package/lib/Signal/lid-mapping.js.map +1 -1
- package/lib/Socket/Client/websocket.d.ts +1 -1
- package/lib/Socket/Client/websocket.d.ts.map +1 -1
- package/lib/Socket/Client/websocket.js +5 -1
- package/lib/Socket/Client/websocket.js.map +1 -1
- package/lib/Socket/business.d.ts +16 -4
- package/lib/Socket/business.d.ts.map +1 -1
- package/lib/Socket/business.js +11 -8
- package/lib/Socket/business.js.map +1 -1
- package/lib/Socket/chats.d.ts +14 -3
- package/lib/Socket/chats.d.ts.map +1 -1
- package/lib/Socket/chats.js +55 -28
- package/lib/Socket/chats.js.map +1 -1
- package/lib/Socket/communities.d.ts +16 -4
- package/lib/Socket/communities.d.ts.map +1 -1
- package/lib/Socket/groups.d.ts +14 -3
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +1 -1
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +16 -4
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/index.js +0 -6
- package/lib/Socket/index.js.map +1 -1
- package/lib/Socket/messages-recv.d.ts +16 -4
- package/lib/Socket/messages-recv.d.ts.map +1 -1
- package/lib/Socket/messages-recv.js +152 -87
- package/lib/Socket/messages-recv.js.map +1 -1
- package/lib/Socket/messages-send.d.ts +15 -3
- package/lib/Socket/messages-send.d.ts.map +1 -1
- package/lib/Socket/messages-send.js +117 -48
- package/lib/Socket/messages-send.js.map +1 -1
- package/lib/Socket/newsletter.d.ts +15 -5
- package/lib/Socket/newsletter.d.ts.map +1 -1
- package/lib/Socket/newsletter.js +2 -47
- package/lib/Socket/newsletter.js.map +1 -1
- package/lib/Socket/socket.d.ts +3 -1
- package/lib/Socket/socket.d.ts.map +1 -1
- package/lib/Socket/socket.js +71 -16
- package/lib/Socket/socket.js.map +1 -1
- package/lib/Types/Auth.d.ts +1 -0
- package/lib/Types/Auth.d.ts.map +1 -1
- package/lib/Types/Call.d.ts +1 -0
- package/lib/Types/Call.d.ts.map +1 -1
- package/lib/Types/Events.d.ts +40 -5
- package/lib/Types/Events.d.ts.map +1 -1
- package/lib/Types/Message.d.ts +3 -3
- package/lib/Types/Message.d.ts.map +1 -1
- package/lib/Types/Newsletter.d.ts +0 -17
- package/lib/Types/Newsletter.d.ts.map +1 -1
- package/lib/Utils/auth-utils.d.ts.map +1 -1
- package/lib/Utils/auth-utils.js +53 -20
- package/lib/Utils/auth-utils.js.map +1 -1
- package/lib/Utils/chat-utils.d.ts.map +1 -1
- package/lib/Utils/chat-utils.js +100 -51
- package/lib/Utils/chat-utils.js.map +1 -1
- package/lib/Utils/crypto.d.ts +4 -8
- package/lib/Utils/crypto.d.ts.map +1 -1
- package/lib/Utils/crypto.js +2 -26
- package/lib/Utils/crypto.js.map +1 -1
- package/lib/Utils/event-buffer.d.ts.map +1 -1
- package/lib/Utils/event-buffer.js +33 -7
- package/lib/Utils/event-buffer.js.map +1 -1
- package/lib/Utils/generics.d.ts +1 -0
- package/lib/Utils/generics.d.ts.map +1 -1
- package/lib/Utils/generics.js +5 -2
- package/lib/Utils/generics.js.map +1 -1
- package/lib/Utils/history.d.ts +6 -3
- package/lib/Utils/history.d.ts.map +1 -1
- package/lib/Utils/history.js +46 -5
- package/lib/Utils/history.js.map +1 -1
- package/lib/Utils/identity-change-handler.d.ts +37 -0
- package/lib/Utils/identity-change-handler.d.ts.map +1 -0
- package/lib/Utils/identity-change-handler.js +49 -0
- package/lib/Utils/identity-change-handler.js.map +1 -0
- package/lib/Utils/index.d.ts +1 -0
- package/lib/Utils/index.d.ts.map +1 -1
- package/lib/Utils/index.js +1 -0
- package/lib/Utils/index.js.map +1 -1
- package/lib/Utils/lt-hash.d.ts +7 -12
- package/lib/Utils/lt-hash.d.ts.map +1 -1
- package/lib/Utils/lt-hash.js +2 -42
- package/lib/Utils/lt-hash.js.map +1 -1
- package/lib/Utils/make-mutex.d.ts +1 -0
- package/lib/Utils/make-mutex.d.ts.map +1 -1
- package/lib/Utils/make-mutex.js +20 -27
- package/lib/Utils/make-mutex.js.map +1 -1
- package/lib/Utils/message-retry-manager.d.ts +30 -2
- package/lib/Utils/message-retry-manager.d.ts.map +1 -1
- package/lib/Utils/message-retry-manager.js +58 -5
- package/lib/Utils/message-retry-manager.js.map +1 -1
- package/lib/Utils/messages-media.d.ts +18 -2
- package/lib/Utils/messages-media.d.ts.map +1 -1
- package/lib/Utils/messages-media.js +150 -39
- package/lib/Utils/messages-media.js.map +1 -1
- package/lib/Utils/messages.d.ts +2 -0
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +41 -23
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/noise-handler.d.ts +4 -4
- package/lib/Utils/noise-handler.d.ts.map +1 -1
- package/lib/Utils/noise-handler.js +139 -85
- package/lib/Utils/noise-handler.js.map +1 -1
- package/lib/Utils/process-message.d.ts.map +1 -1
- package/lib/Utils/process-message.js +57 -14
- package/lib/Utils/process-message.js.map +1 -1
- package/lib/Utils/reporting-utils.d.ts +11 -0
- package/lib/Utils/reporting-utils.d.ts.map +1 -0
- package/lib/Utils/reporting-utils.js +258 -0
- package/lib/Utils/reporting-utils.js.map +1 -0
- package/lib/Utils/sync-action-utils.d.ts +19 -0
- package/lib/Utils/sync-action-utils.d.ts.map +1 -0
- package/lib/Utils/sync-action-utils.js +48 -0
- package/lib/Utils/sync-action-utils.js.map +1 -0
- package/lib/Utils/tc-token-utils.d.ts +12 -0
- package/lib/Utils/tc-token-utils.d.ts.map +1 -0
- package/lib/Utils/tc-token-utils.js +18 -0
- package/lib/Utils/tc-token-utils.js.map +1 -0
- package/lib/Utils/use-multi-file-auth-state.js +1 -1
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
- package/lib/Utils/use-single-file-auth-state.d.ts.map +1 -1
- package/lib/Utils/use-single-file-auth-state.js.map +1 -1
- package/lib/WABinary/decode.d.ts.map +1 -1
- package/lib/WABinary/decode.js +24 -0
- package/lib/WABinary/decode.js.map +1 -1
- package/lib/WABinary/encode.js +5 -1
- package/lib/WABinary/encode.js.map +1 -1
- package/lib/WABinary/generic-utils.d.ts +1 -1
- package/lib/WABinary/generic-utils.d.ts.map +1 -1
- package/lib/WABinary/generic-utils.js +19 -8
- package/lib/WABinary/generic-utils.js.map +1 -1
- package/lib/WABinary/jid-utils.d.ts +0 -3
- package/lib/WABinary/jid-utils.d.ts.map +1 -1
- package/lib/WABinary/jid-utils.js +0 -4
- package/lib/WABinary/jid-utils.js.map +1 -1
- package/package.json +4 -2
package/lib/Utils/chat-utils.js
CHANGED
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
import { Boom } from '@hapi/boom';
|
|
2
|
+
import { expandAppStateKeys } from 'whatsapp-rust-bridge';
|
|
2
3
|
import { proto } from '../../WAProto/index.js';
|
|
3
4
|
import { LabelAssociationType } from '../Types/LabelAssociation.js';
|
|
4
5
|
import { getBinaryNodeChild, getBinaryNodeChildren, isJidGroup, jidNormalizedUser } from '../WABinary/index.js';
|
|
5
|
-
import { aesDecrypt, aesEncrypt,
|
|
6
|
+
import { aesDecrypt, aesEncrypt, hmacSign } from './crypto.js';
|
|
6
7
|
import { toNumber } from './generics.js';
|
|
7
8
|
import { LT_HASH_ANTI_TAMPERING } from './lt-hash.js';
|
|
8
9
|
import { downloadContentFromMessage } from './messages-media.js';
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
import { emitSyncActionResults, processContactAction } from './sync-action-utils.js';
|
|
11
|
+
const mutationKeys = (keydata) => {
|
|
12
|
+
const keys = expandAppStateKeys(keydata);
|
|
11
13
|
return {
|
|
12
|
-
indexKey:
|
|
13
|
-
valueEncryptionKey:
|
|
14
|
-
valueMacKey:
|
|
15
|
-
snapshotMacKey:
|
|
16
|
-
patchMacKey:
|
|
14
|
+
indexKey: keys.indexKey,
|
|
15
|
+
valueEncryptionKey: keys.valueEncryptionKey,
|
|
16
|
+
valueMacKey: keys.valueMacKey,
|
|
17
|
+
snapshotMacKey: keys.snapshotMacKey,
|
|
18
|
+
patchMacKey: keys.patchMacKey
|
|
17
19
|
};
|
|
18
20
|
};
|
|
19
21
|
const generateMac = (operation, data, keyId, key) => {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return Buffer.concat([buff, Buffer.from(keyId, 'base64')]);
|
|
32
|
-
};
|
|
33
|
-
const keyData = getKeyData();
|
|
34
|
-
const last = Buffer.alloc(8); // 8 bytes
|
|
35
|
-
last.set([keyData.length], last.length - 1);
|
|
36
|
-
const total = Buffer.concat([keyData, data, last]);
|
|
22
|
+
const opByte = operation === proto.SyncdMutation.SyncdOperation.SET ? 0x01 : 0x02;
|
|
23
|
+
const keyIdBuffer = typeof keyId === 'string' ? Buffer.from(keyId, 'base64') : keyId;
|
|
24
|
+
const keyData = new Uint8Array(1 + keyIdBuffer.length);
|
|
25
|
+
keyData[0] = opByte;
|
|
26
|
+
keyData.set(keyIdBuffer, 1);
|
|
27
|
+
const last = new Uint8Array(8);
|
|
28
|
+
last[7] = keyData.length;
|
|
29
|
+
const total = new Uint8Array(keyData.length + data.length + last.length);
|
|
30
|
+
total.set(keyData, 0);
|
|
31
|
+
total.set(data, keyData.length);
|
|
32
|
+
total.set(last, keyData.length + data.length);
|
|
37
33
|
const hmac = hmacSign(total, key, 'sha512');
|
|
38
|
-
return hmac.
|
|
34
|
+
return hmac.subarray(0, 32);
|
|
39
35
|
};
|
|
40
36
|
const to64BitNetworkOrder = (e) => {
|
|
41
37
|
const buff = Buffer.alloc(8);
|
|
@@ -58,20 +54,18 @@ const makeLtHashGenerator = ({ indexValueMap, hash }) => {
|
|
|
58
54
|
delete indexValueMap[indexMacBase64];
|
|
59
55
|
}
|
|
60
56
|
else {
|
|
61
|
-
addBuffs.push(
|
|
57
|
+
addBuffs.push(valueMac);
|
|
62
58
|
// add this index into the history map
|
|
63
59
|
indexValueMap[indexMacBase64] = { valueMac };
|
|
64
60
|
}
|
|
65
61
|
if (prevOp) {
|
|
66
|
-
subBuffs.push(
|
|
62
|
+
subBuffs.push(prevOp.valueMac);
|
|
67
63
|
}
|
|
68
64
|
},
|
|
69
|
-
finish:
|
|
70
|
-
const
|
|
71
|
-
const result = await LT_HASH_ANTI_TAMPERING.subtractThenAdd(hashArrayBuffer, addBuffs, subBuffs);
|
|
72
|
-
const buffer = Buffer.from(result);
|
|
65
|
+
finish: () => {
|
|
66
|
+
const result = LT_HASH_ANTI_TAMPERING.subtractThenAdd(hash, subBuffs, addBuffs);
|
|
73
67
|
return {
|
|
74
|
-
hash:
|
|
68
|
+
hash: Buffer.from(result),
|
|
75
69
|
indexValueMap
|
|
76
70
|
};
|
|
77
71
|
}
|
|
@@ -101,14 +95,14 @@ export const encodeSyncdPatch = async ({ type, index, syncAction, apiVersion, op
|
|
|
101
95
|
version: apiVersion
|
|
102
96
|
});
|
|
103
97
|
const encoded = proto.SyncActionData.encode(dataProto).finish();
|
|
104
|
-
const keyValue =
|
|
98
|
+
const keyValue = mutationKeys(key.keyData);
|
|
105
99
|
const encValue = aesEncrypt(encoded, keyValue.valueEncryptionKey);
|
|
106
100
|
const valueMac = generateMac(operation, encValue, encKeyId, keyValue.valueMacKey);
|
|
107
101
|
const indexMac = hmacSign(indexBuffer, keyValue.indexKey);
|
|
108
102
|
// update LT hash
|
|
109
103
|
const generator = makeLtHashGenerator(state);
|
|
110
104
|
generator.mix({ indexMac, valueMac, operation });
|
|
111
|
-
Object.assign(state,
|
|
105
|
+
Object.assign(state, generator.finish());
|
|
112
106
|
state.version += 1;
|
|
113
107
|
const snapshotMac = generateSnapshotMac(state.hash, state.version, type, keyValue.snapshotMacKey);
|
|
114
108
|
const patch = {
|
|
@@ -136,6 +130,7 @@ export const encodeSyncdPatch = async ({ type, index, syncAction, apiVersion, op
|
|
|
136
130
|
};
|
|
137
131
|
export const decodeSyncdMutations = async (msgMutations, initialState, getAppStateSyncKey, onMutation, validateMacs) => {
|
|
138
132
|
const ltGenerator = makeLtHashGenerator(initialState);
|
|
133
|
+
const derivedKeyCache = new Map();
|
|
139
134
|
// indexKey used to HMAC sign record.index.blob
|
|
140
135
|
// valueEncryptionKey used to AES-256-CBC encrypt record.value.blob[0:-32]
|
|
141
136
|
// the remaining record.value.blob[0:-32] is the mac, it the HMAC sign of key.keyId + decoded proto data + length of bytes in keyId
|
|
@@ -145,9 +140,9 @@ export const decodeSyncdMutations = async (msgMutations, initialState, getAppSta
|
|
|
145
140
|
const operation = 'operation' in msgMutation ? msgMutation.operation : proto.SyncdMutation.SyncdOperation.SET;
|
|
146
141
|
const record = 'record' in msgMutation && !!msgMutation.record ? msgMutation.record : msgMutation;
|
|
147
142
|
const key = await getKey(record.keyId.id);
|
|
148
|
-
const content =
|
|
149
|
-
const encContent = content.
|
|
150
|
-
const ogValueMac = content.
|
|
143
|
+
const content = record.value.blob;
|
|
144
|
+
const encContent = content.subarray(0, -32);
|
|
145
|
+
const ogValueMac = content.subarray(-32);
|
|
151
146
|
if (validateMacs) {
|
|
152
147
|
const contentHmac = generateMac(operation, encContent, record.keyId.id, key.valueMacKey);
|
|
153
148
|
if (Buffer.compare(contentHmac, ogValueMac) !== 0) {
|
|
@@ -170,9 +165,13 @@ export const decodeSyncdMutations = async (msgMutations, initialState, getAppSta
|
|
|
170
165
|
operation: operation
|
|
171
166
|
});
|
|
172
167
|
}
|
|
173
|
-
return
|
|
168
|
+
return ltGenerator.finish();
|
|
174
169
|
async function getKey(keyId) {
|
|
175
170
|
const base64Key = Buffer.from(keyId).toString('base64');
|
|
171
|
+
const cached = derivedKeyCache.get(base64Key);
|
|
172
|
+
if (cached) {
|
|
173
|
+
return cached;
|
|
174
|
+
}
|
|
176
175
|
const keyEnc = await getAppStateSyncKey(base64Key);
|
|
177
176
|
if (!keyEnc) {
|
|
178
177
|
throw new Boom(`failed to find key "${base64Key}" to decode mutation`, {
|
|
@@ -180,7 +179,9 @@ export const decodeSyncdMutations = async (msgMutations, initialState, getAppSta
|
|
|
180
179
|
data: { msgMutations }
|
|
181
180
|
});
|
|
182
181
|
}
|
|
183
|
-
|
|
182
|
+
const keys = mutationKeys(keyEnc.keyData);
|
|
183
|
+
derivedKeyCache.set(base64Key, keys);
|
|
184
|
+
return keys;
|
|
184
185
|
}
|
|
185
186
|
};
|
|
186
187
|
export const decodeSyncdPatch = async (msg, name, initialState, getAppStateSyncKey, onMutation, validateMacs) => {
|
|
@@ -190,7 +191,7 @@ export const decodeSyncdPatch = async (msg, name, initialState, getAppStateSyncK
|
|
|
190
191
|
if (!mainKeyObj) {
|
|
191
192
|
throw new Boom(`failed to find key "${base64Key}" to decode patch`, { statusCode: 404, data: { msg } });
|
|
192
193
|
}
|
|
193
|
-
const mainKey =
|
|
194
|
+
const mainKey = mutationKeys(mainKeyObj.keyData);
|
|
194
195
|
const mutationmacs = msg.mutations.map(mutation => mutation.record.value.blob.slice(-32));
|
|
195
196
|
const patchMac = generatePatchMac(msg.snapshotMac, mutationmacs, toNumber(msg.version.version), name, mainKey.patchMacKey);
|
|
196
197
|
if (Buffer.compare(patchMac, msg.patchMac) !== 0) {
|
|
@@ -268,7 +269,7 @@ export const decodeSyncdSnapshot = async (name, snapshot, getAppStateSyncKey, mi
|
|
|
268
269
|
if (!keyEnc) {
|
|
269
270
|
throw new Boom(`failed to find key "${base64Key}" to decode mutation`);
|
|
270
271
|
}
|
|
271
|
-
const result =
|
|
272
|
+
const result = mutationKeys(keyEnc.keyData);
|
|
272
273
|
const computedSnapshotMac = generateSnapshotMac(newState.hash, newState.version, name, result.snapshotMacKey);
|
|
273
274
|
if (Buffer.compare(snapshot.mac, computedSnapshotMac) !== 0) {
|
|
274
275
|
throw new Boom(`failed to verify LTHash at ${newState.version} of ${name} from snapshot`);
|
|
@@ -310,7 +311,7 @@ export const decodePatches = async (name, syncds, initial, getAppStateSyncKey, o
|
|
|
310
311
|
if (!keyEnc) {
|
|
311
312
|
throw new Boom(`failed to find key "${base64Key}" to decode mutation`);
|
|
312
313
|
}
|
|
313
|
-
const result =
|
|
314
|
+
const result = mutationKeys(keyEnc.keyData);
|
|
314
315
|
const computedSnapshotMac = generateSnapshotMac(newState.hash, newState.version, name, result.snapshotMacKey);
|
|
315
316
|
if (Buffer.compare(snapshotMac, computedSnapshotMac) !== 0) {
|
|
316
317
|
throw new Boom(`failed to verify LTHash at ${newState.version} of ${name}`);
|
|
@@ -665,14 +666,8 @@ export const processSyncAction = (syncAction, ev, me, initialSyncOpts, logger) =
|
|
|
665
666
|
});
|
|
666
667
|
}
|
|
667
668
|
else if (action?.contactAction) {
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
id: id,
|
|
671
|
-
name: action.contactAction.fullName,
|
|
672
|
-
lid: action.contactAction.lidJid || undefined,
|
|
673
|
-
phoneNumber: action.contactAction.pnJid || undefined
|
|
674
|
-
}
|
|
675
|
-
]);
|
|
669
|
+
const results = processContactAction(action.contactAction, id, logger);
|
|
670
|
+
emitSyncActionResults(ev, results);
|
|
676
671
|
}
|
|
677
672
|
else if (action?.pushNameSetting) {
|
|
678
673
|
const name = action?.pushNameSetting?.name;
|
|
@@ -741,6 +736,60 @@ export const processSyncAction = (syncAction, ev, me, initialSyncOpts, logger) =
|
|
|
741
736
|
}
|
|
742
737
|
});
|
|
743
738
|
}
|
|
739
|
+
else if (action?.localeSetting?.locale) {
|
|
740
|
+
ev.emit('settings.update', { setting: 'locale', value: action.localeSetting.locale });
|
|
741
|
+
}
|
|
742
|
+
else if (action?.timeFormatAction) {
|
|
743
|
+
ev.emit('settings.update', { setting: 'timeFormat', value: action.timeFormatAction });
|
|
744
|
+
}
|
|
745
|
+
else if (action?.pnForLidChatAction) {
|
|
746
|
+
if (action.pnForLidChatAction.pnJid) {
|
|
747
|
+
ev.emit('lid-mapping.update', { lid: id, pn: action.pnForLidChatAction.pnJid });
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
else if (action?.privacySettingRelayAllCalls) {
|
|
751
|
+
ev.emit('settings.update', {
|
|
752
|
+
setting: 'privacySettingRelayAllCalls',
|
|
753
|
+
value: action.privacySettingRelayAllCalls
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
else if (action?.statusPrivacy) {
|
|
757
|
+
ev.emit('settings.update', { setting: 'statusPrivacy', value: action.statusPrivacy });
|
|
758
|
+
}
|
|
759
|
+
else if (action?.lockChatAction) {
|
|
760
|
+
ev.emit('chats.lock', { id: id, locked: !!action.lockChatAction.locked });
|
|
761
|
+
}
|
|
762
|
+
else if (action?.privacySettingDisableLinkPreviewsAction) {
|
|
763
|
+
ev.emit('settings.update', {
|
|
764
|
+
setting: 'disableLinkPreviews',
|
|
765
|
+
value: action.privacySettingDisableLinkPreviewsAction
|
|
766
|
+
});
|
|
767
|
+
}
|
|
768
|
+
else if (action?.notificationActivitySettingAction?.notificationActivitySetting) {
|
|
769
|
+
ev.emit('settings.update', {
|
|
770
|
+
setting: 'notificationActivitySetting',
|
|
771
|
+
value: action.notificationActivitySettingAction.notificationActivitySetting
|
|
772
|
+
});
|
|
773
|
+
}
|
|
774
|
+
else if (action?.lidContactAction) {
|
|
775
|
+
ev.emit('contacts.upsert', [
|
|
776
|
+
{
|
|
777
|
+
id: id,
|
|
778
|
+
name: action.lidContactAction.fullName ||
|
|
779
|
+
action.lidContactAction.firstName ||
|
|
780
|
+
action.lidContactAction.username ||
|
|
781
|
+
undefined,
|
|
782
|
+
lid: id,
|
|
783
|
+
phoneNumber: undefined
|
|
784
|
+
}
|
|
785
|
+
]);
|
|
786
|
+
}
|
|
787
|
+
else if (action?.privacySettingChannelsPersonalisedRecommendationAction) {
|
|
788
|
+
ev.emit('settings.update', {
|
|
789
|
+
setting: 'channelsPersonalisedRecommendation',
|
|
790
|
+
value: action.privacySettingChannelsPersonalisedRecommendationAction
|
|
791
|
+
});
|
|
792
|
+
}
|
|
744
793
|
else {
|
|
745
794
|
logger?.debug({ syncAction, id }, 'unprocessable update');
|
|
746
795
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-utils.js","sourceRoot":"","sources":["../../src/Utils/chat-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-utils.js","sourceRoot":"","sources":["../../src/Utils/chat-utils.ts"],"names":[],"mappings":"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"}
|
package/lib/Utils/crypto.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { KeyPair } from '../Types/index.js';
|
|
2
|
+
export { md5, hkdf } from 'whatsapp-rust-bridge';
|
|
2
3
|
/** prefix version byte to the pub keys, required for some curve crypto functions */
|
|
3
4
|
export declare const generateSignalPubKey: (pubKey: Uint8Array | Buffer) => Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike>;
|
|
4
5
|
export declare const Curve: {
|
|
@@ -25,17 +26,12 @@ export declare function aesDecryptGCM(ciphertext: Uint8Array, key: Uint8Array, i
|
|
|
25
26
|
export declare function aesEncryptCTR(plaintext: Uint8Array, key: Uint8Array, iv: Uint8Array): Buffer<ArrayBuffer>;
|
|
26
27
|
export declare function aesDecryptCTR(ciphertext: Uint8Array, key: Uint8Array, iv: Uint8Array): Buffer<ArrayBuffer>;
|
|
27
28
|
/** decrypt AES 256 CBC; where the IV is prefixed to the buffer */
|
|
28
|
-
export declare function aesDecrypt(buffer:
|
|
29
|
+
export declare function aesDecrypt(buffer: Uint8Array, key: Uint8Array): Buffer<ArrayBuffer>;
|
|
29
30
|
/** decrypt AES 256 CBC */
|
|
30
|
-
export declare function aesDecryptWithIV(buffer:
|
|
31
|
-
export declare function aesEncrypt(buffer:
|
|
31
|
+
export declare function aesDecryptWithIV(buffer: Uint8Array, key: Uint8Array, IV: Uint8Array): Buffer<ArrayBuffer>;
|
|
32
|
+
export declare function aesEncrypt(buffer: Uint8Array, key: Uint8Array): Buffer<ArrayBuffer>;
|
|
32
33
|
export declare function aesEncrypWithIV(buffer: Buffer, key: Buffer, IV: Buffer): Buffer<ArrayBuffer>;
|
|
33
34
|
export declare function hmacSign(buffer: Buffer | Uint8Array, key: Buffer | Uint8Array, variant?: 'sha256' | 'sha512'): NonSharedBuffer;
|
|
34
35
|
export declare function sha256(buffer: Buffer): NonSharedBuffer;
|
|
35
|
-
export declare function md5(buffer: Buffer): NonSharedBuffer;
|
|
36
|
-
export declare function hkdf(buffer: Uint8Array | Buffer, expandedLength: number, info: {
|
|
37
|
-
salt?: Buffer;
|
|
38
|
-
info?: string;
|
|
39
|
-
}): Promise<Buffer>;
|
|
40
36
|
export declare function derivePairingCodeKey(pairingCode: string, salt: Buffer): Promise<Buffer>;
|
|
41
37
|
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/Utils/crypto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/Utils/crypto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAKhD,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,UAAU,GAAG,MAAM,0DACS,CAAA;AAEzE,eAAO,MAAM,KAAK;2BACI,OAAO;4BAQJ,UAAU,aAAa,UAAU;uBAItC,UAAU,OAAO,UAAU;qBAC7B,UAAU,WAAW,UAAU,aAAa,UAAU;CAQvE,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,iBAAiB,OAAO,EAAE,OAAO,MAAM;;;;CAOpE,CAAA;AAID;;;KAGK;AACL,wBAAgB,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,uBAI/G;AAED;;;KAGK;AACL,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,uBAUhH;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,uBAGnF;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,uBAGpF;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE7D;AAED,0BAA0B;AAC1B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,uBAGnF;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAI7D;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,uBAGtE;AAGD,wBAAgB,QAAQ,CACvB,MAAM,EAAE,MAAM,GAAG,UAAU,EAC3B,GAAG,EAAE,MAAM,GAAG,UAAU,EACxB,OAAO,GAAE,QAAQ,GAAG,QAAmB,mBAGvC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,mBAEpC;AAED,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB7F"}
|
package/lib/Utils/crypto.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createCipheriv, createDecipheriv, createHash, createHmac, randomBytes } from 'crypto';
|
|
2
2
|
import * as curve from 'libsignal/src/curve.js';
|
|
3
3
|
import { KEY_BUNDLE_TYPE } from '../Defaults/index.js';
|
|
4
|
+
export { md5, hkdf } from 'whatsapp-rust-bridge';
|
|
4
5
|
// insure browser & node compatibility
|
|
5
6
|
const { subtle } = globalThis.crypto;
|
|
6
7
|
/** prefix version byte to the pub keys, required for some curve crypto functions */
|
|
@@ -69,7 +70,7 @@ export function aesDecryptCTR(ciphertext, key, iv) {
|
|
|
69
70
|
}
|
|
70
71
|
/** decrypt AES 256 CBC; where the IV is prefixed to the buffer */
|
|
71
72
|
export function aesDecrypt(buffer, key) {
|
|
72
|
-
return aesDecryptWithIV(buffer.
|
|
73
|
+
return aesDecryptWithIV(buffer.subarray(16), key, buffer.subarray(0, 16));
|
|
73
74
|
}
|
|
74
75
|
/** decrypt AES 256 CBC */
|
|
75
76
|
export function aesDecryptWithIV(buffer, key, IV) {
|
|
@@ -94,31 +95,6 @@ export function hmacSign(buffer, key, variant = 'sha256') {
|
|
|
94
95
|
export function sha256(buffer) {
|
|
95
96
|
return createHash('sha256').update(buffer).digest();
|
|
96
97
|
}
|
|
97
|
-
export function md5(buffer) {
|
|
98
|
-
return createHash('md5').update(buffer).digest();
|
|
99
|
-
}
|
|
100
|
-
// HKDF key expansion
|
|
101
|
-
export async function hkdf(buffer, expandedLength, info) {
|
|
102
|
-
// Normalize to a Uint8Array whose underlying buffer is a regular ArrayBuffer (not ArrayBufferLike)
|
|
103
|
-
// Cloning via new Uint8Array(...) guarantees the generic parameter is ArrayBuffer which satisfies WebCrypto types.
|
|
104
|
-
const inputKeyMaterial = new Uint8Array(buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer));
|
|
105
|
-
// Set default values if not provided
|
|
106
|
-
const salt = info.salt ? new Uint8Array(info.salt) : new Uint8Array(0);
|
|
107
|
-
const infoBytes = info.info ? new TextEncoder().encode(info.info) : new Uint8Array(0);
|
|
108
|
-
// Import the input key material (cast to BufferSource to appease TS DOM typings)
|
|
109
|
-
const importedKey = await subtle.importKey('raw', inputKeyMaterial, { name: 'HKDF' }, false, [
|
|
110
|
-
'deriveBits'
|
|
111
|
-
]);
|
|
112
|
-
// Derive bits using HKDF
|
|
113
|
-
const derivedBits = await subtle.deriveBits({
|
|
114
|
-
name: 'HKDF',
|
|
115
|
-
hash: 'SHA-256',
|
|
116
|
-
salt: salt,
|
|
117
|
-
info: infoBytes
|
|
118
|
-
}, importedKey, expandedLength * 8 // Convert bytes to bits
|
|
119
|
-
);
|
|
120
|
-
return Buffer.from(derivedBits);
|
|
121
|
-
}
|
|
122
98
|
export async function derivePairingCodeKey(pairingCode, salt) {
|
|
123
99
|
// Convert inputs to formats Web Crypto API can work with
|
|
124
100
|
const encoder = new TextEncoder();
|
package/lib/Utils/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/Utils/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC9F,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/Utils/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC9F,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEhD,sCAAsC;AACtC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;AAEpC,oFAAoF;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAA2B,EAAE,EAAE,CACnE,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,eAAe,EAAE,GAAY,EAAE;QAC9B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QACnD,OAAO;YACN,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,sBAAsB;YACtB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpC,CAAA;IACF,CAAC;IACD,SAAS,EAAE,CAAC,UAAsB,EAAE,SAAqB,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAA;QACpF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IACD,IAAI,EAAE,CAAC,UAAsB,EAAE,GAAe,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC;IAC5F,MAAM,EAAE,CAAC,MAAkB,EAAE,OAAmB,EAAE,SAAqB,EAAE,EAAE;QAC1E,IAAI,CAAC;YACJ,KAAK,CAAC,eAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;YACvE,OAAO,IAAI,CAAA;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;CACD,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,eAAwB,EAAE,KAAa,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAElD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AAC7C,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,CAAA;AAE/B;;;KAGK;AACL,MAAM,UAAU,aAAa,CAAC,SAAqB,EAAE,GAAe,EAAE,EAAc,EAAE,cAA0B;IAC/G,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACrD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;AACtF,CAAC;AAED;;;KAGK;AACL,MAAM,UAAU,aAAa,CAAC,UAAsB,EAAE,GAAe,EAAE,EAAc,EAAE,cAA0B;IAChH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACzD,2BAA2B;IAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,CAAA;IACnE,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,CAAA;IAChE,sBAAsB;IACtB,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAExB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAqB,EAAE,GAAe,EAAE,EAAc;IACnF,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAsB,EAAE,GAAe,EAAE,EAAc;IACpF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACtE,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,MAAkB,EAAE,GAAe;IAC7D,OAAO,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,gBAAgB,CAAC,MAAkB,EAAE,GAAe,EAAE,EAAc;IACnF,MAAM,GAAG,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,MAAkB,EAAE,GAAe;IAC7D,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;IAC1B,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA,CAAC,0BAA0B;AACvF,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,GAAW,EAAE,EAAU;IACtE,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA,CAAC,0BAA0B;AACnF,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,QAAQ,CACvB,MAA2B,EAC3B,GAAwB,EACxB,UAA+B,QAAQ;IAEvC,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAc;IACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB,EAAE,IAAY;IAC3E,yDAAyD;IACzD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IAE3F,0CAA0C;IAC1C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE;QAC/G,YAAY;KACZ,CAAC,CAAA;IAEF,oDAAoD;IACpD,+BAA+B;IAC/B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,UAAU,CAC1C;QACC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAA0B;QAChC,UAAU,EAAE,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,SAAS;KACf,EACD,WAAW,EACX,EAAE,GAAG,CAAC,CAAC,0BAA0B;KACjC,CAAA;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-buffer.d.ts","sourceRoot":"","sources":["../../src/Utils/event-buffer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,mBAAmB,EACnB,eAAe,EAOf,MAAM,UAAU,CAAA;AAGjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAqBvC;;;;;;GAMG;AACH,KAAK,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAIhD,KAAK,6BAA6B,GAAG,mBAAmB,GAAG;IAC1D,uCAAuC;IACvC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAA;IAChF;;SAEK;IACL,MAAM,IAAI,IAAI,CAAA;IACd,oDAAoD;IAEpD,sBAAsB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACxG;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAA;IAChB,iCAAiC;IACjC,WAAW,IAAI,OAAO,CAAA;CACtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"event-buffer.d.ts","sourceRoot":"","sources":["../../src/Utils/event-buffer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEX,mBAAmB,EACnB,eAAe,EAOf,MAAM,UAAU,CAAA;AAGjB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAqBvC;;;;;;GAMG;AACH,KAAK,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAIhD,KAAK,6BAA6B,GAAG,mBAAmB,GAAG;IAC1D,uCAAuC;IACvC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAA;IAChF;;SAEK;IACL,MAAM,IAAI,IAAI,CAAA;IACd,oDAAoD;IAEpD,sBAAsB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACxG;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAA;IAChB,iCAAiC;IACjC,WAAW,IAAI,OAAO,CAAA;CACtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,OAAO,KAAG,6BAwKjD,CAAA"}
|
|
@@ -28,6 +28,7 @@ export const makeEventBuffer = (logger) => {
|
|
|
28
28
|
let data = makeBufferData();
|
|
29
29
|
let isBuffering = false;
|
|
30
30
|
let bufferTimeout = null;
|
|
31
|
+
let flushPendingTimeout = null; // Add a specific timer for the debounced flush to prevent leak
|
|
31
32
|
let bufferCount = 0;
|
|
32
33
|
const MAX_HISTORY_CACHE_SIZE = 10000; // Limit the history cache size to prevent memory bloat
|
|
33
34
|
const BUFFER_TIMEOUT_MS = 30000; // 30 seconds
|
|
@@ -41,8 +42,7 @@ export const makeEventBuffer = (logger) => {
|
|
|
41
42
|
if (!isBuffering) {
|
|
42
43
|
logger.debug('Event buffer activated');
|
|
43
44
|
isBuffering = true;
|
|
44
|
-
bufferCount
|
|
45
|
-
// Auto-flush after a timeout to prevent infinite buffering
|
|
45
|
+
bufferCount = 0;
|
|
46
46
|
if (bufferTimeout) {
|
|
47
47
|
clearTimeout(bufferTimeout);
|
|
48
48
|
}
|
|
@@ -53,9 +53,8 @@ export const makeEventBuffer = (logger) => {
|
|
|
53
53
|
}
|
|
54
54
|
}, BUFFER_TIMEOUT_MS);
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
56
|
+
// Always increment count when requested
|
|
57
|
+
bufferCount++;
|
|
59
58
|
}
|
|
60
59
|
function flush() {
|
|
61
60
|
if (!isBuffering) {
|
|
@@ -69,6 +68,10 @@ export const makeEventBuffer = (logger) => {
|
|
|
69
68
|
clearTimeout(bufferTimeout);
|
|
70
69
|
bufferTimeout = null;
|
|
71
70
|
}
|
|
71
|
+
if (flushPendingTimeout) {
|
|
72
|
+
clearTimeout(flushPendingTimeout);
|
|
73
|
+
flushPendingTimeout = null;
|
|
74
|
+
}
|
|
72
75
|
// Clear history cache if it exceeds the max size
|
|
73
76
|
if (historyCache.size > MAX_HISTORY_CACHE_SIZE) {
|
|
74
77
|
logger.debug({ cacheSize: historyCache.size }, 'Clearing history cache');
|
|
@@ -103,6 +106,27 @@ export const makeEventBuffer = (logger) => {
|
|
|
103
106
|
};
|
|
104
107
|
},
|
|
105
108
|
emit(event, evData) {
|
|
109
|
+
// Check if this is a messages.upsert with a different type than what's buffered
|
|
110
|
+
// If so, flush the buffered messages first to avoid type overshadowing
|
|
111
|
+
if (event === 'messages.upsert') {
|
|
112
|
+
const { type } = evData;
|
|
113
|
+
const existingUpserts = Object.values(data.messageUpserts);
|
|
114
|
+
if (existingUpserts.length > 0) {
|
|
115
|
+
const bufferedType = existingUpserts[0].type;
|
|
116
|
+
if (bufferedType !== type) {
|
|
117
|
+
logger.debug({ bufferedType, newType: type }, 'messages.upsert type mismatch, emitting buffered messages');
|
|
118
|
+
// Emit the buffered messages with their correct type
|
|
119
|
+
ev.emit('event', {
|
|
120
|
+
'messages.upsert': {
|
|
121
|
+
messages: existingUpserts.map(m => m.message),
|
|
122
|
+
type: bufferedType
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
// Clear the message upserts from the buffer
|
|
126
|
+
data.messageUpserts = {};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
106
130
|
if (isBuffering && BUFFERABLE_EVENT_SET.has(event)) {
|
|
107
131
|
append(data, historyCache, event, evData, logger);
|
|
108
132
|
return true;
|
|
@@ -135,8 +159,10 @@ export const makeEventBuffer = (logger) => {
|
|
|
135
159
|
finally {
|
|
136
160
|
bufferCount = Math.max(0, bufferCount - 1);
|
|
137
161
|
if (bufferCount === 0) {
|
|
138
|
-
//
|
|
139
|
-
|
|
162
|
+
// Only schedule ONE timeout, not 10,000
|
|
163
|
+
if (!flushPendingTimeout) {
|
|
164
|
+
flushPendingTimeout = setTimeout(flush, 100);
|
|
165
|
+
}
|
|
140
166
|
}
|
|
141
167
|
}
|
|
142
168
|
};
|