@periskope/baileys 7.0.0-alpha-4 → 7.0.0-beta-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 +0 -6
- package/lib/Defaults/index.d.ts +1 -2
- package/lib/Defaults/index.d.ts.map +1 -1
- package/lib/Defaults/index.js +2 -3
- package/lib/Defaults/index.js.map +1 -1
- package/lib/Signal/Group/group_cipher.d.ts +1 -0
- package/lib/Signal/Group/group_cipher.d.ts.map +1 -1
- package/lib/Signal/Group/group_cipher.js +37 -28
- package/lib/Signal/Group/group_cipher.js.map +1 -1
- package/lib/Signal/Group/keyhelper.d.ts.map +1 -1
- package/lib/Signal/Group/keyhelper.js +1 -0
- package/lib/Signal/Group/keyhelper.js.map +1 -1
- package/lib/Signal/Group/queue-job.d.ts +1 -0
- package/lib/Signal/Group/queue-job.d.ts.map +1 -1
- package/lib/Signal/Group/queue-job.js +3 -0
- package/lib/Signal/Group/queue-job.js.map +1 -1
- package/lib/Signal/Group/sender-chain-key.d.ts +1 -1
- package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -1
- package/lib/Signal/Group/sender-chain-key.js +3 -9
- package/lib/Signal/Group/sender-chain-key.js.map +1 -1
- package/lib/Signal/Group/sender-key-message.d.ts.map +1 -1
- package/lib/Signal/Group/sender-key-message.js +1 -0
- package/lib/Signal/Group/sender-key-message.js.map +1 -1
- package/lib/Signal/Group/sender-key-state.d.ts +4 -4
- package/lib/Signal/Group/sender-key-state.d.ts.map +1 -1
- package/lib/Signal/Group/sender-key-state.js +24 -47
- package/lib/Signal/Group/sender-key-state.js.map +1 -1
- package/lib/Signal/Group/sender-message-key.d.ts.map +1 -1
- package/lib/Signal/Group/sender-message-key.js +1 -0
- package/lib/Signal/Group/sender-message-key.js.map +1 -1
- package/lib/Signal/libsignal.d.ts +1 -5
- package/lib/Signal/libsignal.d.ts.map +1 -1
- package/lib/Signal/libsignal.js +38 -70
- package/lib/Signal/libsignal.js.map +1 -1
- package/lib/Signal/lid-mapping.d.ts +1 -13
- package/lib/Signal/lid-mapping.d.ts.map +1 -1
- package/lib/Signal/lid-mapping.js +25 -45
- package/lib/Signal/lid-mapping.js.map +1 -1
- package/lib/Socket/business.d.ts +6 -7
- package/lib/Socket/business.d.ts.map +1 -1
- package/lib/Socket/chats.d.ts +6 -6
- package/lib/Socket/chats.d.ts.map +1 -1
- package/lib/Socket/chats.js +19 -15
- package/lib/Socket/chats.js.map +1 -1
- package/lib/Socket/communities.d.ts +6 -7
- package/lib/Socket/communities.d.ts.map +1 -1
- package/lib/Socket/groups.d.ts +6 -6
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +10 -12
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +6 -7
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/messages-recv.d.ts +6 -7
- package/lib/Socket/messages-recv.d.ts.map +1 -1
- package/lib/Socket/messages-recv.js +254 -354
- package/lib/Socket/messages-recv.js.map +1 -1
- package/lib/Socket/messages-send.d.ts +6 -8
- package/lib/Socket/messages-send.d.ts.map +1 -1
- package/lib/Socket/messages-send.js +21 -40
- package/lib/Socket/messages-send.js.map +1 -1
- package/lib/Socket/newsletter.d.ts +9 -8
- package/lib/Socket/newsletter.d.ts.map +1 -1
- package/lib/Socket/newsletter.js +1 -3
- package/lib/Socket/newsletter.js.map +1 -1
- package/lib/Socket/socket.d.ts +0 -7
- package/lib/Socket/socket.d.ts.map +1 -1
- package/lib/Socket/socket.js +50 -124
- package/lib/Socket/socket.js.map +1 -1
- package/lib/Socket/usync.d.ts +2 -2
- package/lib/Types/Auth.d.ts +1 -1
- package/lib/Types/Auth.d.ts.map +1 -1
- package/lib/Types/Chat.d.ts +0 -2
- package/lib/Types/Chat.d.ts.map +1 -1
- package/lib/Types/Contact.d.ts +4 -4
- package/lib/Types/Contact.d.ts.map +1 -1
- package/lib/Types/Events.d.ts +2 -2
- package/lib/Types/Events.d.ts.map +1 -1
- package/lib/Types/GroupMetadata.d.ts +4 -6
- package/lib/Types/GroupMetadata.d.ts.map +1 -1
- package/lib/Types/Message.d.ts +6 -7
- package/lib/Types/Message.d.ts.map +1 -1
- package/lib/Types/Message.js +1 -5
- package/lib/Types/Message.js.map +1 -1
- package/lib/Types/Signal.d.ts +0 -4
- package/lib/Types/Signal.d.ts.map +1 -1
- package/lib/Types/Socket.d.ts +6 -22
- package/lib/Types/Socket.d.ts.map +1 -1
- package/lib/Utils/auth-utils.d.ts.map +1 -1
- package/lib/Utils/auth-utils.js +79 -363
- package/lib/Utils/auth-utils.js.map +1 -1
- package/lib/Utils/chat-utils.d.ts +2 -2
- package/lib/Utils/chat-utils.d.ts.map +1 -1
- package/lib/Utils/chat-utils.js +2 -2
- package/lib/Utils/chat-utils.js.map +1 -1
- package/lib/Utils/crypto.d.ts +3 -3
- package/lib/Utils/crypto.d.ts.map +1 -1
- package/lib/Utils/crypto.js +12 -16
- package/lib/Utils/crypto.js.map +1 -1
- package/lib/Utils/decode-wa-message.d.ts +0 -5
- package/lib/Utils/decode-wa-message.d.ts.map +1 -1
- package/lib/Utils/decode-wa-message.js +27 -50
- package/lib/Utils/decode-wa-message.js.map +1 -1
- package/lib/Utils/event-buffer.d.ts +1 -0
- package/lib/Utils/event-buffer.d.ts.map +1 -1
- package/lib/Utils/event-buffer.js +4 -48
- package/lib/Utils/event-buffer.js.map +1 -1
- package/lib/Utils/generics.d.ts.map +1 -1
- package/lib/Utils/generics.js +8 -17
- package/lib/Utils/generics.js.map +1 -1
- package/lib/Utils/history.d.ts.map +1 -1
- package/lib/Utils/history.js +2 -1
- package/lib/Utils/history.js.map +1 -1
- package/lib/Utils/index.d.ts +0 -1
- package/lib/Utils/index.d.ts.map +1 -1
- package/lib/Utils/index.js +0 -1
- package/lib/Utils/index.js.map +1 -1
- package/lib/Utils/messages-media.d.ts +2 -3
- package/lib/Utils/messages-media.d.ts.map +1 -1
- package/lib/Utils/messages-media.js.map +1 -1
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +3 -3
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/process-message.d.ts +2 -3
- package/lib/Utils/process-message.d.ts.map +1 -1
- package/lib/Utils/process-message.js +3 -14
- package/lib/Utils/process-message.js.map +1 -1
- package/lib/Utils/validate-connection.d.ts.map +1 -1
- package/lib/Utils/validate-connection.js +2 -3
- package/lib/Utils/validate-connection.js.map +1 -1
- package/lib/WABinary/jid-utils.d.ts +5 -6
- package/lib/WABinary/jid-utils.d.ts.map +1 -1
- package/lib/WABinary/jid-utils.js +5 -11
- package/lib/WABinary/jid-utils.js.map +1 -1
- package/lib/WAM/encode.d.ts.map +1 -1
- package/lib/WAM/encode.js +1 -0
- package/lib/WAM/encode.js.map +1 -1
- package/package.json +8 -10
package/lib/Signal/libsignal.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
/* @ts-ignore */
|
|
1
2
|
import * as libsignal from 'libsignal';
|
|
3
|
+
/* @ts-ignore */
|
|
2
4
|
import { LRUCache } from 'lru-cache';
|
|
3
5
|
import { generateSignalPubKey } from '../Utils/index.js';
|
|
4
6
|
import { jidDecode } from '../WABinary/index.js';
|
|
@@ -6,18 +8,9 @@ import { SenderKeyName } from './Group/sender-key-name.js';
|
|
|
6
8
|
import { SenderKeyRecord } from './Group/sender-key-record.js';
|
|
7
9
|
import { GroupCipher, GroupSessionBuilder, SenderKeyDistributionMessage } from './Group/index.js';
|
|
8
10
|
import { LIDMappingStore } from './lid-mapping.js';
|
|
9
|
-
export function makeLibSignalRepository(auth
|
|
10
|
-
const lidMapping = new LIDMappingStore(auth.keys
|
|
11
|
+
export function makeLibSignalRepository(auth) {
|
|
12
|
+
const lidMapping = new LIDMappingStore(auth.keys);
|
|
11
13
|
const storage = signalStorage(auth, lidMapping);
|
|
12
|
-
const parsedKeys = auth.keys;
|
|
13
|
-
function isLikelySyncMessage(addr) {
|
|
14
|
-
const key = addr.toString();
|
|
15
|
-
// Only bypass for WhatsApp system addresses, not regular user contacts
|
|
16
|
-
// Be very specific about sync service patterns
|
|
17
|
-
return (key.includes('@lid.whatsapp.net') || // WhatsApp system messages
|
|
18
|
-
key.includes('@broadcast') || // Broadcast messages
|
|
19
|
-
key.includes('@newsletter'));
|
|
20
|
-
}
|
|
21
14
|
// Simple operation-level deduplication (5 minutes)
|
|
22
15
|
const recentMigrations = new LRUCache({
|
|
23
16
|
max: 500,
|
|
@@ -27,10 +20,7 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
|
|
|
27
20
|
decryptGroupMessage({ group, authorJid, msg }) {
|
|
28
21
|
const senderName = jidToSignalSenderKeyName(group, authorJid);
|
|
29
22
|
const cipher = new GroupCipher(storage, senderName);
|
|
30
|
-
|
|
31
|
-
return parsedKeys.transaction(async () => {
|
|
32
|
-
return cipher.decrypt(msg);
|
|
33
|
-
}, group);
|
|
23
|
+
return cipher.decrypt(msg);
|
|
34
24
|
},
|
|
35
25
|
async processSenderKeyDistributionMessage({ item, authorJid }) {
|
|
36
26
|
const builder = new GroupSessionBuilder(storage);
|
|
@@ -44,39 +34,23 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
|
|
|
44
34
|
if (!senderKey) {
|
|
45
35
|
await storage.storeSenderKey(senderName, new SenderKeyRecord());
|
|
46
36
|
}
|
|
47
|
-
|
|
48
|
-
const { [senderNameStr]: senderKey } = await auth.keys.get('sender-key', [senderNameStr]);
|
|
49
|
-
if (!senderKey) {
|
|
50
|
-
await storage.storeSenderKey(senderName, new SenderKeyRecord());
|
|
51
|
-
}
|
|
52
|
-
await builder.process(senderName, senderMsg);
|
|
53
|
-
}, item.groupId);
|
|
37
|
+
await builder.process(senderName, senderMsg);
|
|
54
38
|
},
|
|
55
39
|
async decryptMessage({ jid, type, ciphertext }) {
|
|
56
40
|
const addr = jidToSignalProtocolAddress(jid);
|
|
57
41
|
const session = new libsignal.SessionCipher(storage, addr);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
if (isLikelySyncMessage(addr)) {
|
|
71
|
-
// If it's a sync message, we can skip the transaction
|
|
72
|
-
// as it is likely to be a system message that doesn't require strict atomicity
|
|
73
|
-
return await doDecrypt();
|
|
42
|
+
let result;
|
|
43
|
+
switch (type) {
|
|
44
|
+
case 'pkmsg':
|
|
45
|
+
result = await session.decryptPreKeyWhisperMessage(ciphertext);
|
|
46
|
+
break;
|
|
47
|
+
case 'msg':
|
|
48
|
+
result = await session.decryptWhisperMessage(ciphertext);
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
throw new Error(`Unknown message type: ${type}`);
|
|
74
52
|
}
|
|
75
|
-
|
|
76
|
-
// For regular messages, we use a transaction to ensure atomicity
|
|
77
|
-
return parsedKeys.transaction(async () => {
|
|
78
|
-
return await doDecrypt();
|
|
79
|
-
}, jid);
|
|
53
|
+
return result;
|
|
80
54
|
},
|
|
81
55
|
async encryptMessage({ jid, data }) {
|
|
82
56
|
// LID SINGLE SOURCE OF TRUTH: Always prefer LID when available
|
|
@@ -105,36 +79,29 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
|
|
|
105
79
|
}
|
|
106
80
|
const addr = jidToSignalProtocolAddress(encryptionJid);
|
|
107
81
|
const cipher = new libsignal.SessionCipher(storage, addr);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const type = sigType === 3 ? 'pkmsg' : 'msg';
|
|
112
|
-
return { type, ciphertext: Buffer.from(body, 'binary') };
|
|
113
|
-
}, jid);
|
|
82
|
+
const { type: sigType, body } = await cipher.encrypt(data);
|
|
83
|
+
const type = sigType === 3 ? 'pkmsg' : 'msg';
|
|
84
|
+
return { type, ciphertext: Buffer.from(body, 'binary') };
|
|
114
85
|
},
|
|
115
86
|
async encryptGroupMessage({ group, meId, data }) {
|
|
116
87
|
const senderName = jidToSignalSenderKeyName(group, meId);
|
|
117
88
|
const builder = new GroupSessionBuilder(storage);
|
|
118
89
|
const senderNameStr = senderName.toString();
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
};
|
|
131
|
-
}, group);
|
|
90
|
+
const { [senderNameStr]: senderKey } = await auth.keys.get('sender-key', [senderNameStr]);
|
|
91
|
+
if (!senderKey) {
|
|
92
|
+
await storage.storeSenderKey(senderName, new SenderKeyRecord());
|
|
93
|
+
}
|
|
94
|
+
const senderKeyDistributionMessage = await builder.create(senderName);
|
|
95
|
+
const session = new GroupCipher(storage, senderName);
|
|
96
|
+
const ciphertext = await session.encrypt(data);
|
|
97
|
+
return {
|
|
98
|
+
ciphertext,
|
|
99
|
+
senderKeyDistributionMessage: senderKeyDistributionMessage.serialize()
|
|
100
|
+
};
|
|
132
101
|
},
|
|
133
102
|
async injectE2ESession({ jid, session }) {
|
|
134
103
|
const cipher = new libsignal.SessionBuilder(storage, jidToSignalProtocolAddress(jid));
|
|
135
|
-
|
|
136
|
-
await cipher.initOutgoing(session);
|
|
137
|
-
}, jid);
|
|
104
|
+
await cipher.initOutgoing(session);
|
|
138
105
|
},
|
|
139
106
|
jidToSignalProtocolAddress(jid) {
|
|
140
107
|
return jidToSignalProtocolAddress(jid).toString();
|
|
@@ -163,9 +130,9 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
|
|
|
163
130
|
},
|
|
164
131
|
async deleteSession(jid) {
|
|
165
132
|
const addr = jidToSignalProtocolAddress(jid);
|
|
166
|
-
return
|
|
133
|
+
return auth.keys.transaction(async () => {
|
|
167
134
|
await auth.keys.set({ session: { [addr.toString()]: null } });
|
|
168
|
-
}
|
|
135
|
+
});
|
|
169
136
|
},
|
|
170
137
|
async migrateSession(fromJid, toJid) {
|
|
171
138
|
// Only migrate PN → LID
|
|
@@ -189,7 +156,7 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
|
|
|
189
156
|
recentMigrations.set(migrationKey, true);
|
|
190
157
|
return;
|
|
191
158
|
}
|
|
192
|
-
return
|
|
159
|
+
return auth.keys.transaction(async () => {
|
|
193
160
|
// Store mapping
|
|
194
161
|
await lidMapping.storeLIDPNMapping(toJid, fromJid);
|
|
195
162
|
// Load and copy session
|
|
@@ -205,7 +172,7 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
|
|
|
205
172
|
await auth.keys.set({ session: { [fromAddr.toString()]: null } });
|
|
206
173
|
}
|
|
207
174
|
recentMigrations.set(migrationKey, true);
|
|
208
|
-
}
|
|
175
|
+
});
|
|
209
176
|
},
|
|
210
177
|
async encryptMessageWithWire({ encryptionJid, wireJid, data }) {
|
|
211
178
|
const result = await repository.encryptMessage({ jid: encryptionJid, data });
|
|
@@ -261,6 +228,7 @@ function signalStorage({ creds, keys }, lidMapping) {
|
|
|
261
228
|
}
|
|
262
229
|
return null;
|
|
263
230
|
},
|
|
231
|
+
// TODO: Replace with libsignal.SessionRecord when type exports are added to libsignal
|
|
264
232
|
storeSession: async (id, session) => {
|
|
265
233
|
await keys.set({ session: { [id]: session.serialize() } });
|
|
266
234
|
},
|
|
@@ -303,7 +271,7 @@ function signalStorage({ creds, keys }, lidMapping) {
|
|
|
303
271
|
const { signedIdentityKey } = creds;
|
|
304
272
|
return {
|
|
305
273
|
privKey: Buffer.from(signedIdentityKey.private),
|
|
306
|
-
pubKey:
|
|
274
|
+
pubKey: generateSignalPubKey(signedIdentityKey.public)
|
|
307
275
|
};
|
|
308
276
|
}
|
|
309
277
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsignal.js","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libsignal.js","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
import type { SignalKeyStoreWithTransaction } from '../Types/index.js';
|
|
2
2
|
export declare class LIDMappingStore {
|
|
3
3
|
private readonly keys;
|
|
4
|
-
|
|
5
|
-
constructor(keys: SignalKeyStoreWithTransaction, onWhatsAppFunc?: (...jids: string[]) => Promise<{
|
|
6
|
-
jid: string;
|
|
7
|
-
exists: boolean;
|
|
8
|
-
lid: string;
|
|
9
|
-
}[] | undefined>);
|
|
4
|
+
constructor(keys: SignalKeyStoreWithTransaction);
|
|
10
5
|
/**
|
|
11
6
|
* Store LID-PN mapping - USER LEVEL
|
|
12
7
|
*/
|
|
13
8
|
storeLIDPNMapping(lid: string, pn: string): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* Store LID-PN mapping - USER LEVEL
|
|
16
|
-
*/
|
|
17
|
-
storeLIDPNMappings(pairs: {
|
|
18
|
-
lid: string;
|
|
19
|
-
pn: string;
|
|
20
|
-
}[]): Promise<void>;
|
|
21
9
|
/**
|
|
22
10
|
* Get LID for PN - Returns device-specific LID based on user mapping
|
|
23
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lid-mapping.d.ts","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"lid-mapping.d.ts","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAI7D,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;gBAExC,IAAI,EAAE,6BAA6B;IAI/C;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B/D;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0BrD;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAuBtD"}
|
|
@@ -1,54 +1,41 @@
|
|
|
1
1
|
import logger from '../Utils/logger.js';
|
|
2
|
-
import {
|
|
3
|
-
//TODO: Caching
|
|
2
|
+
import { isJidUser, isLidUser, jidDecode } from '../WABinary/index.js';
|
|
4
3
|
export class LIDMappingStore {
|
|
5
|
-
constructor(keys
|
|
4
|
+
constructor(keys) {
|
|
6
5
|
this.keys = keys;
|
|
7
|
-
this.onWhatsAppFunc = onWhatsAppFunc; // needed to get LID from PN if not found
|
|
8
6
|
}
|
|
9
7
|
/**
|
|
10
8
|
* Store LID-PN mapping - USER LEVEL
|
|
11
9
|
*/
|
|
12
10
|
async storeLIDPNMapping(lid, pn) {
|
|
13
|
-
return this.storeLIDPNMappings([{ lid, pn }]);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Store LID-PN mapping - USER LEVEL
|
|
17
|
-
*/
|
|
18
|
-
async storeLIDPNMappings(pairs) {
|
|
19
11
|
// Validate inputs
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
logger.warn(`Invalid LID-PN mapping: ${lid}, ${pn}`);
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
const [lidJid, pnJid] = isLidUser(lid) ? [lid, pn] : [pn, lid];
|
|
27
|
-
const lidDecoded = jidDecode(lidJid);
|
|
28
|
-
const pnDecoded = jidDecode(pnJid);
|
|
29
|
-
if (!lidDecoded || !pnDecoded)
|
|
30
|
-
return;
|
|
31
|
-
const pnUser = pnDecoded.user;
|
|
32
|
-
const lidUser = lidDecoded.user;
|
|
33
|
-
pairMap[pnUser] = lidUser;
|
|
12
|
+
if (!((isLidUser(lid) && isJidUser(pn)) || (isJidUser(lid) && isLidUser(pn)))) {
|
|
13
|
+
logger.warn(`Invalid LID-PN mapping: ${lid}, ${pn}`);
|
|
14
|
+
return;
|
|
34
15
|
}
|
|
35
|
-
|
|
16
|
+
const [lidJid, pnJid] = isLidUser(lid) ? [lid, pn] : [pn, lid];
|
|
17
|
+
const lidDecoded = jidDecode(lidJid);
|
|
18
|
+
const pnDecoded = jidDecode(pnJid);
|
|
19
|
+
if (!lidDecoded || !pnDecoded)
|
|
20
|
+
return;
|
|
21
|
+
const pnUser = pnDecoded.user;
|
|
22
|
+
const lidUser = lidDecoded.user;
|
|
23
|
+
logger.trace(`Storing USER LID mapping: PN ${pnUser} → LID ${lidUser}`);
|
|
36
24
|
await this.keys.transaction(async () => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}, 'lid-mapping');
|
|
25
|
+
await this.keys.set({
|
|
26
|
+
'lid-mapping': {
|
|
27
|
+
[pnUser]: lidUser, // "554396160286" -> "102765716062358"
|
|
28
|
+
[`${lidUser}_reverse`]: pnUser // "102765716062358_reverse" -> "554396160286"
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
logger.trace(`USER LID mapping stored: PN ${pnUser} → LID ${lidUser}`);
|
|
46
33
|
}
|
|
47
34
|
/**
|
|
48
35
|
* Get LID for PN - Returns device-specific LID based on user mapping
|
|
49
36
|
*/
|
|
50
37
|
async getLIDForPN(pn) {
|
|
51
|
-
if (!
|
|
38
|
+
if (!isJidUser(pn))
|
|
52
39
|
return null;
|
|
53
40
|
const decoded = jidDecode(pn);
|
|
54
41
|
if (!decoded)
|
|
@@ -56,16 +43,10 @@ export class LIDMappingStore {
|
|
|
56
43
|
// Look up user-level mapping (whatsmeow approach)
|
|
57
44
|
const pnUser = decoded.user;
|
|
58
45
|
const stored = await this.keys.get('lid-mapping', [pnUser]);
|
|
59
|
-
|
|
46
|
+
const lidUser = stored[pnUser];
|
|
60
47
|
if (!lidUser) {
|
|
61
|
-
logger.trace(`No LID mapping found for PN user ${pnUser}
|
|
62
|
-
|
|
63
|
-
if (exists) {
|
|
64
|
-
lidUser = jidDecode(lid)?.user;
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
48
|
+
logger.trace(`No LID mapping found for PN user ${pnUser}`);
|
|
49
|
+
return null;
|
|
69
50
|
}
|
|
70
51
|
if (typeof lidUser !== 'string')
|
|
71
52
|
return null;
|
|
@@ -86,7 +67,6 @@ export class LIDMappingStore {
|
|
|
86
67
|
return null;
|
|
87
68
|
// Look up reverse user mapping
|
|
88
69
|
const lidUser = decoded.user;
|
|
89
|
-
// TODO: remove this style and instead load all mappings somehow, and then assign them in the map
|
|
90
70
|
const stored = await this.keys.get('lid-mapping', [`${lidUser}_reverse`]);
|
|
91
71
|
const pnUser = stored[`${lidUser}_reverse`];
|
|
92
72
|
if (!pnUser || typeof pnUser !== 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lid-mapping.js","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"lid-mapping.js","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"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"}
|
package/lib/Socket/business.d.ts
CHANGED
|
@@ -24,7 +24,6 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
24
24
|
rejectCall: (callId: string, callFrom: string) => Promise<void>;
|
|
25
25
|
fetchMessageHistory: (count: number, oldestMsgKey: import("../index.js").WAMessageKey, oldestMsgTimestamp: number | import("long").default) => Promise<string>;
|
|
26
26
|
requestPlaceholderResend: (messageKey: import("../index.js").WAMessageKey) => Promise<string | undefined>;
|
|
27
|
-
messageRetryManager: import("../index.js").MessageRetryManager | null;
|
|
28
27
|
getPrivacyTokens: (jids: string[]) => Promise<any>;
|
|
29
28
|
assertSessions: (jids: string[], force: boolean) => Promise<boolean>;
|
|
30
29
|
relayMessage: (jid: string, message: import("../index.js").proto.IMessage, { messageId: msgId, participant, additionalAttributes, additionalNodes, useUserDevicesCache, useCachedGroupMetadata, statusJidList }: import("../index.js").MessageRelayOptions) => Promise<string>;
|
|
@@ -111,6 +110,11 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
111
110
|
sendPresenceUpdate: (type: import("../index.js").WAPresence, toJid?: string) => Promise<void>;
|
|
112
111
|
presenceSubscribe: (toJid: string, tcToken?: Buffer) => Promise<void>;
|
|
113
112
|
profilePictureUrl: (jid: string, type?: "preview" | "image", timeoutMs?: number) => Promise<string | undefined>;
|
|
113
|
+
onWhatsApp: (...jids: string[]) => Promise<{
|
|
114
|
+
jid: string;
|
|
115
|
+
exists: unknown;
|
|
116
|
+
lid: unknown;
|
|
117
|
+
}[] | undefined>;
|
|
114
118
|
fetchBlocklist: () => Promise<(string | undefined)[]>;
|
|
115
119
|
fetchStatus: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
|
|
116
120
|
fetchDisappearingDuration: (...jids: string[]) => Promise<import("../index.js").USyncQueryResultList[] | undefined>;
|
|
@@ -149,6 +153,7 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
149
153
|
}[], star: boolean) => Promise<void>;
|
|
150
154
|
addOrEditQuickReply: (quickReply: import("../Types/Bussines.js").QuickReplyAction) => Promise<void>;
|
|
151
155
|
removeQuickReply: (timestamp: string) => Promise<void>;
|
|
156
|
+
executeUSyncQuery: (usyncQuery: import("../index.js").USyncQuery) => Promise<import("../index.js").USyncQueryResult | undefined>;
|
|
152
157
|
type: "md";
|
|
153
158
|
ws: import("./Client/index.js").WebSocketClient;
|
|
154
159
|
ev: import("../index.js").BaileysEventEmitter & {
|
|
@@ -178,11 +183,5 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
|
|
|
178
183
|
requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
|
|
179
184
|
waitForConnectionUpdate: (check: (u: Partial<import("../index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
|
|
180
185
|
sendWAMBuffer: (wamBuffer: Buffer) => Promise<any>;
|
|
181
|
-
executeUSyncQuery: (usyncQuery: import("../index.js").USyncQuery) => Promise<import("../index.js").USyncQueryResult | undefined>;
|
|
182
|
-
onWhatsApp: (...jids: string[]) => Promise<{
|
|
183
|
-
jid: string;
|
|
184
|
-
exists: boolean;
|
|
185
|
-
lid: string;
|
|
186
|
-
}[] | undefined>;
|
|
187
186
|
};
|
|
188
187
|
//# sourceMappingURL=business.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/Socket/business.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC5G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAUnE,OAAO,EAAE,KAAK,UAAU,EAAqC,MAAM,aAAa,CAAA;AAIhF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,YAAY;;+BA2Od,MAAM,eAAe,MAAM;yCAjGjB,iBAAiB;;;;2BAmD/B,MAAM;;;4BAkIL,aAAa;gCAwCT,MAAM,EAAE;;;+BA9ET,MAAM,UAAU,aAAa;kCArR1B,0BAA0B;8BAwE9B,aAAa;2BAoChB,MAAM
|
|
1
|
+
{"version":3,"file":"business.d.ts","sourceRoot":"","sources":["../../src/Socket/business.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC5G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAUnE,OAAO,EAAE,KAAK,UAAU,EAAqC,MAAM,aAAa,CAAA;AAIhF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,YAAY;;+BA2Od,MAAM,eAAe,MAAM;yCAjGjB,iBAAiB;;;;2BAmD/B,MAAM;;;4BAkIL,aAAa;gCAwCT,MAAM,EAAE;;;+BA9ET,MAAM,UAAU,aAAa;kCArR1B,0BAA0B;8BAwE9B,aAAa;2BAoChB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsS47c,CAAC;;;;;;;;;;0DA5Wh+c,GAAE,0BACE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CA0Wd,CAAA"}
|
package/lib/Socket/chats.d.ts
CHANGED
|
@@ -21,6 +21,11 @@ export declare const makeChatsSocket: (config: SocketConfig) => {
|
|
|
21
21
|
sendPresenceUpdate: (type: WAPresence, toJid?: string) => Promise<void>;
|
|
22
22
|
presenceSubscribe: (toJid: string, tcToken?: Buffer) => Promise<void>;
|
|
23
23
|
profilePictureUrl: (jid: string, type?: "preview" | "image", timeoutMs?: number) => Promise<string | undefined>;
|
|
24
|
+
onWhatsApp: (...jids: string[]) => Promise<{
|
|
25
|
+
jid: string;
|
|
26
|
+
exists: unknown;
|
|
27
|
+
lid: unknown;
|
|
28
|
+
}[] | undefined>;
|
|
24
29
|
fetchBlocklist: () => Promise<(string | undefined)[]>;
|
|
25
30
|
fetchStatus: (...jids: string[]) => Promise<import("../WAUSync/index.js").USyncQueryResultList[] | undefined>;
|
|
26
31
|
fetchDisappearingDuration: (...jids: string[]) => Promise<import("../WAUSync/index.js").USyncQueryResultList[] | undefined>;
|
|
@@ -59,6 +64,7 @@ export declare const makeChatsSocket: (config: SocketConfig) => {
|
|
|
59
64
|
}[], star: boolean) => Promise<void>;
|
|
60
65
|
addOrEditQuickReply: (quickReply: QuickReplyAction) => Promise<void>;
|
|
61
66
|
removeQuickReply: (timestamp: string) => Promise<void>;
|
|
67
|
+
executeUSyncQuery: (usyncQuery: USyncQuery) => Promise<import("../WAUSync/index.js").USyncQueryResult | undefined>;
|
|
62
68
|
type: "md";
|
|
63
69
|
ws: import("./Client/websocket.js").WebSocketClient;
|
|
64
70
|
ev: import("../Types/index.js").BaileysEventEmitter & {
|
|
@@ -88,11 +94,5 @@ export declare const makeChatsSocket: (config: SocketConfig) => {
|
|
|
88
94
|
requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
|
|
89
95
|
waitForConnectionUpdate: (check: (u: Partial<import("../Types/index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
|
|
90
96
|
sendWAMBuffer: (wamBuffer: Buffer) => Promise<any>;
|
|
91
|
-
executeUSyncQuery: (usyncQuery: USyncQuery) => Promise<import("../WAUSync/index.js").USyncQueryResult | undefined>;
|
|
92
|
-
onWhatsApp: (...jids: string[]) => Promise<{
|
|
93
|
-
jid: string;
|
|
94
|
-
exists: boolean;
|
|
95
|
-
lid: string;
|
|
96
|
-
}[] | undefined>;
|
|
97
97
|
};
|
|
98
98
|
//# sourceMappingURL=chats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/Socket/chats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,KAAK,EACX,WAAW,EAEX,gBAAgB,EAGhB,iBAAiB,EAEjB,YAAY,EAEZ,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,EAEb,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAgBrD,OAAO,EACN,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../src/Socket/chats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,KAAK,EACX,WAAW,EAEX,gBAAgB,EAGhB,iBAAiB,EAEjB,YAAY,EAEZ,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,aAAa,EAEb,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAgBrD,OAAO,EACN,KAAK,UAAU,EAOf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,YAAY,CAAA;AAIlD,eAAO,MAAM,eAAe,GAAI,QAAQ,YAAY;2BAkkBf,OAAO,GAAG,OAAO,UAAU;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,cAAc,MAAM;;;;;;;;;4BAqHnE,aAAa;+BA/FV,UAAU,UAAU,MAAM;+BAyChC,MAAM,YAAY,MAAM;6BAlFpB,MAAM,SAAQ,SAAS,GAAG,OAAO,cAA0B,MAAM;0BA1YpE,MAAM,EAAE;;;;;;2BAeP,MAAM,EAAE;yCAaM,MAAM,EAAE;gCAepD,MAAM,WACF,aAAa,eACT;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;gCAmCN,MAAM;kCA0BJ,MAAM;8BAkBV,MAAM;6BAkBP,MAAM,UAAU,OAAO,GAAG,SAAS;2DAmgBX,OAAO;+BAnuB7B,kBAAkB;mCAJd,sBAAsB;mCAQtB,cAAc;iCAIhB,oBAAoB;yCAIZ,cAAc;iCAItB,cAAc;uCAIR,mBAAmB;oCAItB,sBAAsB;8CAIZ,MAAM;8BAwNtB,MAAM,KAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;;sBAuexD,gBAAgB,OAAO,MAAM;2BArblB,cAAc,GAAG,QAAQ,kBAAkB,MAAM,GAAG,MAAM;4BAwd/D,MAAM,WAAW,KAAK,CAAC,eAAe,CAAC,cAAc;yBAYxD,MAAM;oBAYX,MAAM,UAAU,eAAe;wBAc3B,MAAM,WAAW,MAAM;2BAcpB,MAAM,WAAW,MAAM;2BAcvB,MAAM,aAAa,MAAM,WAAW,MAAM;8BAevC,MAAM,aAAa,MAAM,WAAW,MAAM;gBAhGxD,MAAM,YAAY;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,QAAQ,OAAO;sCA+G7C,gBAAgB;kCAYpB,MAAM;;;;;;;0DAp7B3C,GAAC,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CA6oC9B,CAAA"}
|
package/lib/Socket/chats.js
CHANGED
|
@@ -7,14 +7,14 @@ import { SyncState } from '../Types/State.js';
|
|
|
7
7
|
import { chatModificationToAppPatch, decodePatches, decodeSyncdSnapshot, encodeSyncdPatch, extractSyncdPatches, generateProfilePicture, getHistoryMsg, newLTHashState, processSyncAction } from '../Utils/index.js';
|
|
8
8
|
import { makeMutex } from '../Utils/make-mutex.js';
|
|
9
9
|
import processMessage from '../Utils/process-message.js';
|
|
10
|
-
import { getBinaryNodeChild, getBinaryNodeChildren,
|
|
10
|
+
import { getBinaryNodeChild, getBinaryNodeChildren, jidDecode, jidNormalizedUser, reduceBinaryNodeToDictionary, S_WHATSAPP_NET } from '../WABinary/index.js';
|
|
11
11
|
import { USyncQuery, USyncUser } from '../WAUSync/index.js';
|
|
12
|
-
import {
|
|
12
|
+
import { makeUSyncSocket } from './usync.js';
|
|
13
13
|
const MAX_SYNC_ATTEMPTS = 2;
|
|
14
14
|
export const makeChatsSocket = (config) => {
|
|
15
15
|
const { logger, markOnlineOnConnect, fireInitQueries, appStateMacVerification, shouldIgnoreJid, shouldSyncHistoryMessage } = config;
|
|
16
|
-
const sock =
|
|
17
|
-
const { ev, ws, authState, generateMessageTag, sendNode, query,
|
|
16
|
+
const sock = makeUSyncSocket(config);
|
|
17
|
+
const { ev, ws, authState, generateMessageTag, sendNode, query, onUnexpectedError } = sock;
|
|
18
18
|
let privacySettings;
|
|
19
19
|
let syncState = SyncState.Connecting;
|
|
20
20
|
/** this mutex ensures that the notifications (receipts, messages etc.) are processed in order */
|
|
@@ -145,6 +145,17 @@ export const makeChatsSocket = (config) => {
|
|
|
145
145
|
}
|
|
146
146
|
return botList;
|
|
147
147
|
};
|
|
148
|
+
const onWhatsApp = async (...jids) => {
|
|
149
|
+
const usyncQuery = new USyncQuery().withContactProtocol().withLIDProtocol();
|
|
150
|
+
for (const jid of jids) {
|
|
151
|
+
const phone = `+${jid.replace('+', '').split('@')[0]?.split(':')[0]}`;
|
|
152
|
+
usyncQuery.withUser(new USyncUser().withPhone(phone));
|
|
153
|
+
}
|
|
154
|
+
const results = await sock.executeUSyncQuery(usyncQuery);
|
|
155
|
+
if (results) {
|
|
156
|
+
return results.list.filter(a => !!a.contact).map(({ contact, id, lid }) => ({ jid: id, exists: contact, lid }));
|
|
157
|
+
}
|
|
158
|
+
};
|
|
148
159
|
const fetchStatus = async (...jids) => {
|
|
149
160
|
const usyncQuery = new USyncQuery().withStatusProtocol();
|
|
150
161
|
for (const jid of jids) {
|
|
@@ -444,7 +455,7 @@ export const makeChatsSocket = (config) => {
|
|
|
444
455
|
}
|
|
445
456
|
}
|
|
446
457
|
}
|
|
447
|
-
}
|
|
458
|
+
});
|
|
448
459
|
const { onMutation } = newAppStateChunkHandler(isInitialSync);
|
|
449
460
|
for (const key in globalMutationMap) {
|
|
450
461
|
onMutation(globalMutationMap[key]);
|
|
@@ -623,7 +634,7 @@ export const makeChatsSocket = (config) => {
|
|
|
623
634
|
};
|
|
624
635
|
await query(node);
|
|
625
636
|
await authState.keys.set({ 'app-state-sync-version': { [name]: state } });
|
|
626
|
-
}
|
|
637
|
+
});
|
|
627
638
|
});
|
|
628
639
|
if (config.emitOwnEvents) {
|
|
629
640
|
const { onMutation } = newAppStateChunkHandler(false);
|
|
@@ -790,14 +801,7 @@ export const makeChatsSocket = (config) => {
|
|
|
790
801
|
let jid = msg.key.fromMe ? authState.creds.me.id : msg.key.participant || msg.key.remoteJid;
|
|
791
802
|
jid = jidNormalizedUser(jid);
|
|
792
803
|
if (!msg.key.fromMe) {
|
|
793
|
-
ev.emit('contacts.update', [
|
|
794
|
-
{
|
|
795
|
-
id: isPnUser(jid) ? jid : msg.key.participantAlt || msg.key.remoteJidAlt,
|
|
796
|
-
lid: isLidUser(jid) ? jid : undefined,
|
|
797
|
-
notify: msg.pushName,
|
|
798
|
-
verifiedName: msg.verifiedBizName
|
|
799
|
-
}
|
|
800
|
-
]);
|
|
804
|
+
ev.emit('contacts.update', [{ id: jid, lid: msg.key.participantLid || msg.key.senderLid, notify: msg.pushName, verifiedName: msg.verifiedBizName }]);
|
|
801
805
|
}
|
|
802
806
|
// update our pushname too
|
|
803
807
|
if (msg.key.fromMe && msg.pushName && authState.creds.me?.name !== msg.pushName) {
|
|
@@ -844,7 +848,6 @@ export const makeChatsSocket = (config) => {
|
|
|
844
848
|
}
|
|
845
849
|
})(),
|
|
846
850
|
processMessage(msg, {
|
|
847
|
-
signalRepository,
|
|
848
851
|
shouldProcessHistoryMsg,
|
|
849
852
|
placeholderResendCache,
|
|
850
853
|
ev,
|
|
@@ -930,6 +933,7 @@ export const makeChatsSocket = (config) => {
|
|
|
930
933
|
sendPresenceUpdate,
|
|
931
934
|
presenceSubscribe,
|
|
932
935
|
profilePictureUrl,
|
|
936
|
+
onWhatsApp,
|
|
933
937
|
fetchBlocklist,
|
|
934
938
|
fetchStatus,
|
|
935
939
|
fetchDisappearingDuration,
|