@queenanya/baileys 9.1.1 → 9.2.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 +1202 -375
- package/WAProto/WAProto.proto +1067 -221
- package/WAProto/fix-imports.js +1 -1
- package/WAProto/index.d.ts +2578 -530
- package/WAProto/index.js +36676 -23394
- package/lib/Defaults/index.d.ts +1 -1
- package/lib/Defaults/index.d.ts.map +1 -1
- package/lib/Defaults/index.js +7 -7
- package/lib/Defaults/index.js.map +1 -1
- package/lib/Signal/libsignal.js +1 -1
- package/lib/Signal/lid-mapping.js +2 -2
- package/lib/Signal/lid-mapping.js.map +1 -1
- package/lib/Socket/Client/types.d.ts +2 -2
- package/lib/Socket/Client/types.d.ts.map +1 -1
- package/lib/Socket/Client/websocket.d.ts +2 -2
- package/lib/Socket/Client/websocket.d.ts.map +1 -1
- package/lib/Socket/Client/websocket.js +2 -2
- package/lib/Socket/Client/websocket.js.map +1 -1
- package/lib/Socket/business.d.ts +3 -1
- package/lib/Socket/business.d.ts.map +1 -1
- package/lib/Socket/chats.d.ts +2 -0
- package/lib/Socket/chats.d.ts.map +1 -1
- package/lib/Socket/chats.js +5 -3
- package/lib/Socket/chats.js.map +1 -1
- package/lib/Socket/communities.d.ts +3 -1
- package/lib/Socket/communities.d.ts.map +1 -1
- package/lib/Socket/groups.d.ts +2 -0
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +0 -1
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +3 -1
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/messages-recv.d.ts +3 -1
- package/lib/Socket/messages-recv.d.ts.map +1 -1
- package/lib/Socket/messages-recv.js +102 -45
- package/lib/Socket/messages-recv.js.map +1 -1
- package/lib/Socket/messages-send.d.ts +3 -1
- package/lib/Socket/messages-send.d.ts.map +1 -1
- package/lib/Socket/messages-send.js +77 -56
- package/lib/Socket/messages-send.js.map +1 -1
- package/lib/Socket/newsletter.d.ts +2 -0
- package/lib/Socket/newsletter.d.ts.map +1 -1
- package/lib/Socket/socket.d.ts +2 -0
- package/lib/Socket/socket.d.ts.map +1 -1
- package/lib/Socket/socket.js +57 -16
- package/lib/Socket/socket.js.map +1 -1
- package/lib/Types/Auth.d.ts +4 -0
- package/lib/Types/Auth.d.ts.map +1 -1
- package/lib/Types/Message.d.ts +2 -0
- package/lib/Types/Message.d.ts.map +1 -1
- package/lib/Types/Message.js.map +1 -1
- package/lib/Utils/auth-utils.js +1 -1
- package/lib/Utils/auth-utils.js.map +1 -1
- package/lib/Utils/decode-wa-message.d.ts.map +1 -1
- package/lib/Utils/decode-wa-message.js +5 -1
- package/lib/Utils/decode-wa-message.js.map +1 -1
- package/lib/Utils/event-buffer.js +2 -2
- package/lib/Utils/event-buffer.js.map +1 -1
- package/lib/Utils/generics.d.ts +1 -1
- package/lib/Utils/generics.d.ts.map +1 -1
- package/lib/Utils/generics.js +3 -3
- package/lib/Utils/generics.js.map +1 -1
- package/lib/Utils/history.d.ts.map +1 -1
- package/lib/Utils/history.js +7 -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/message-retry-manager.d.ts +3 -3
- package/lib/Utils/message-retry-manager.d.ts.map +1 -1
- package/lib/Utils/message-retry-manager.js +25 -2
- package/lib/Utils/message-retry-manager.js.map +1 -1
- package/lib/Utils/messages-media.js +1 -1
- package/lib/Utils/messages-media.js.map +1 -1
- package/lib/Utils/messages.d.ts +13 -0
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +30 -0
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/process-message.d.ts +20 -2
- package/lib/Utils/process-message.d.ts.map +1 -1
- package/lib/Utils/process-message.js +75 -3
- 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 +7 -2
- package/lib/Utils/validate-connection.js.map +1 -1
- package/package.json +4 -4
- package/lib/Utils/baileys-event-stream.d.ts +0 -17
- package/lib/Utils/baileys-event-stream.d.ts.map +0 -1
- package/lib/Utils/baileys-event-stream.js +0 -56
- package/lib/Utils/baileys-event-stream.js.map +0 -1
|
@@ -189,6 +189,16 @@ export const makeMessagesSocket = (config) => {
|
|
|
189
189
|
if (lidResults.length > 0) {
|
|
190
190
|
logger.trace('Storing LID maps from device call');
|
|
191
191
|
await signalRepository.lidMapping.storeLIDPNMappings(lidResults.map(a => ({ lid: a.lid, pn: a.id })));
|
|
192
|
+
// Force-refresh sessions for newly mapped LIDs to align identity addressing
|
|
193
|
+
try {
|
|
194
|
+
const lids = lidResults.map(a => a.lid);
|
|
195
|
+
if (lids.length) {
|
|
196
|
+
await assertSessions(lids, true);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
logger.warn({ e, count: lidResults.length }, 'failed to assert sessions for newly mapped LIDs');
|
|
201
|
+
}
|
|
192
202
|
}
|
|
193
203
|
const extracted = extractDeviceJids(result?.list, authState.creds.me.id, authState.creds.me.lid, ignoreZeroDevices);
|
|
194
204
|
const deviceMap = {};
|
|
@@ -244,7 +254,7 @@ export const makeMessagesSocket = (config) => {
|
|
|
244
254
|
}
|
|
245
255
|
return deviceResults;
|
|
246
256
|
};
|
|
247
|
-
const assertSessions = async (jids) => {
|
|
257
|
+
const assertSessions = async (jids, force) => {
|
|
248
258
|
let didFetchNewSession = false;
|
|
249
259
|
const uniqueJids = [...new Set(jids)]; // Deduplicate JIDs
|
|
250
260
|
const jidsRequiringFetch = [];
|
|
@@ -254,7 +264,7 @@ export const makeMessagesSocket = (config) => {
|
|
|
254
264
|
const signalId = signalRepository.jidToSignalProtocolAddress(jid);
|
|
255
265
|
const cachedSession = peerSessionsCache.get(signalId);
|
|
256
266
|
if (cachedSession !== undefined) {
|
|
257
|
-
if (cachedSession) {
|
|
267
|
+
if (cachedSession && !force) {
|
|
258
268
|
continue; // Session exists in cache
|
|
259
269
|
}
|
|
260
270
|
}
|
|
@@ -262,7 +272,7 @@ export const makeMessagesSocket = (config) => {
|
|
|
262
272
|
const sessionValidation = await signalRepository.validateSession(jid);
|
|
263
273
|
const hasSession = sessionValidation.exists;
|
|
264
274
|
peerSessionsCache.set(signalId, hasSession);
|
|
265
|
-
if (hasSession) {
|
|
275
|
+
if (hasSession && !force) {
|
|
266
276
|
continue;
|
|
267
277
|
}
|
|
268
278
|
}
|
|
@@ -286,10 +296,12 @@ export const makeMessagesSocket = (config) => {
|
|
|
286
296
|
{
|
|
287
297
|
tag: 'key',
|
|
288
298
|
attrs: {},
|
|
289
|
-
content: wireJids.map(jid =>
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
299
|
+
content: wireJids.map(jid => {
|
|
300
|
+
const attrs = { jid };
|
|
301
|
+
if (force)
|
|
302
|
+
attrs.reason = 'identity';
|
|
303
|
+
return { tag: 'user', attrs };
|
|
304
|
+
})
|
|
293
305
|
}
|
|
294
306
|
]
|
|
295
307
|
});
|
|
@@ -398,6 +410,7 @@ export const makeMessagesSocket = (config) => {
|
|
|
398
410
|
const isStatus = jid === statusJid;
|
|
399
411
|
const isLid = server === 'lid';
|
|
400
412
|
const isNewsletter = server === 'newsletter';
|
|
413
|
+
const isGroupOrStatus = isGroup || isStatus;
|
|
401
414
|
const finalJid = jid;
|
|
402
415
|
msgId = msgId || generateMessageIDV2(meId);
|
|
403
416
|
useUserDevicesCache = useUserDevicesCache !== false;
|
|
@@ -455,7 +468,7 @@ export const makeMessagesSocket = (config) => {
|
|
|
455
468
|
if (normalizeMessageContent(message)?.pinInChatMessage) {
|
|
456
469
|
extraAttrs['decrypt-fail'] = 'hide'; // todo: expand for reactions and other types
|
|
457
470
|
}
|
|
458
|
-
if (
|
|
471
|
+
if (isGroupOrStatus && !isRetryResend) {
|
|
459
472
|
const [groupData, senderKeyMap] = await Promise.all([
|
|
460
473
|
(async () => {
|
|
461
474
|
let groupData = useCachedGroupMetadata && cachedGroupMetadata ? await cachedGroupMetadata(jid) : undefined; // todo: should we rely on the cache specially if the cache is outdated and the metadata has new fields?
|
|
@@ -477,34 +490,24 @@ export const makeMessagesSocket = (config) => {
|
|
|
477
490
|
return {};
|
|
478
491
|
})()
|
|
479
492
|
]);
|
|
480
|
-
|
|
481
|
-
const participantsList = [];
|
|
482
|
-
if (isStatus) {
|
|
483
|
-
if (statusJidList?.length)
|
|
484
|
-
participantsList.push(...statusJidList);
|
|
485
|
-
}
|
|
486
|
-
else {
|
|
487
|
-
// default to LID based groups
|
|
488
|
-
let groupAddressingMode = 'lid';
|
|
489
|
-
if (groupData) {
|
|
490
|
-
participantsList.push(...groupData.participants.map(p => p.id));
|
|
491
|
-
groupAddressingMode = groupData?.addressingMode || groupAddressingMode;
|
|
492
|
-
}
|
|
493
|
-
// default to lid addressing mode in a group
|
|
494
|
-
additionalAttributes = {
|
|
495
|
-
...additionalAttributes,
|
|
496
|
-
addressing_mode: groupAddressingMode
|
|
497
|
-
};
|
|
498
|
-
}
|
|
499
|
-
const additionalDevices = await getUSyncDevices(participantsList, !!useUserDevicesCache, false);
|
|
500
|
-
devices.push(...additionalDevices);
|
|
501
|
-
}
|
|
493
|
+
const participantsList = groupData ? groupData.participants.map(p => p.id) : [];
|
|
502
494
|
if (groupData?.ephemeralDuration && groupData.ephemeralDuration > 0) {
|
|
503
495
|
additionalAttributes = {
|
|
504
496
|
...additionalAttributes,
|
|
505
497
|
expiration: groupData.ephemeralDuration.toString()
|
|
506
498
|
};
|
|
507
499
|
}
|
|
500
|
+
if (isStatus && statusJidList) {
|
|
501
|
+
participantsList.push(...statusJidList);
|
|
502
|
+
}
|
|
503
|
+
const additionalDevices = await getUSyncDevices(participantsList, !!useUserDevicesCache, false);
|
|
504
|
+
devices.push(...additionalDevices);
|
|
505
|
+
if (isGroup) {
|
|
506
|
+
additionalAttributes = {
|
|
507
|
+
...additionalAttributes,
|
|
508
|
+
addressing_mode: groupData?.addressingMode || 'lid'
|
|
509
|
+
};
|
|
510
|
+
}
|
|
508
511
|
const patched = await patchMessageBeforeSending(message);
|
|
509
512
|
if (Array.isArray(patched)) {
|
|
510
513
|
throw new Boom('Per-jid patching is not supported in groups');
|
|
@@ -545,29 +548,12 @@ export const makeMessagesSocket = (config) => {
|
|
|
545
548
|
shouldIncludeDeviceIdentity = shouldIncludeDeviceIdentity || result.shouldIncludeDeviceIdentity;
|
|
546
549
|
participants.push(...result.nodes);
|
|
547
550
|
}
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
tag: 'enc',
|
|
555
|
-
attrs: {
|
|
556
|
-
v: '2',
|
|
557
|
-
type,
|
|
558
|
-
count: participant.count.toString()
|
|
559
|
-
},
|
|
560
|
-
content: encryptedContent
|
|
561
|
-
});
|
|
562
|
-
}
|
|
563
|
-
else {
|
|
564
|
-
binaryNodeContent.push({
|
|
565
|
-
tag: 'enc',
|
|
566
|
-
attrs: { v: '2', type: 'skmsg', ...extraAttrs },
|
|
567
|
-
content: ciphertext
|
|
568
|
-
});
|
|
569
|
-
await authState.keys.set({ 'sender-key-memory': { [jid]: senderKeyMap } });
|
|
570
|
-
}
|
|
551
|
+
binaryNodeContent.push({
|
|
552
|
+
tag: 'enc',
|
|
553
|
+
attrs: { v: '2', type: 'skmsg', ...extraAttrs },
|
|
554
|
+
content: ciphertext
|
|
555
|
+
});
|
|
556
|
+
await authState.keys.set({ 'sender-key-memory': { [jid]: senderKeyMap } });
|
|
571
557
|
}
|
|
572
558
|
else {
|
|
573
559
|
// ADDRESSING CONSISTENCY: Match own identity to conversation context
|
|
@@ -581,7 +567,7 @@ export const makeMessagesSocket = (config) => {
|
|
|
581
567
|
logger.debug({ to: jid, ownId }, 'Using PN identity for @s.whatsapp.net conversation');
|
|
582
568
|
}
|
|
583
569
|
const { user: ownUser } = jidDecode(ownId);
|
|
584
|
-
if (!
|
|
570
|
+
if (!isRetryResend) {
|
|
585
571
|
const targetUserServer = isLid ? 'lid' : 's.whatsapp.net';
|
|
586
572
|
devices.push({
|
|
587
573
|
user,
|
|
@@ -647,6 +633,31 @@ export const makeMessagesSocket = (config) => {
|
|
|
647
633
|
}
|
|
648
634
|
shouldIncludeDeviceIdentity = shouldIncludeDeviceIdentity || s1 || s2;
|
|
649
635
|
}
|
|
636
|
+
if (isRetryResend) {
|
|
637
|
+
const isParticipantLid = isLidUser(participant.jid);
|
|
638
|
+
const isMe = areJidsSameUser(participant.jid, isParticipantLid ? meLid : meId);
|
|
639
|
+
const encodedMessageToSend = isMe
|
|
640
|
+
? encodeWAMessage({
|
|
641
|
+
deviceSentMessage: {
|
|
642
|
+
destinationJid,
|
|
643
|
+
message
|
|
644
|
+
}
|
|
645
|
+
})
|
|
646
|
+
: encodeWAMessage(message);
|
|
647
|
+
const { type, ciphertext: encryptedContent } = await signalRepository.encryptMessage({
|
|
648
|
+
data: encodedMessageToSend,
|
|
649
|
+
jid: participant.jid
|
|
650
|
+
});
|
|
651
|
+
binaryNodeContent.push({
|
|
652
|
+
tag: 'enc',
|
|
653
|
+
attrs: {
|
|
654
|
+
v: '2',
|
|
655
|
+
type,
|
|
656
|
+
count: participant.count.toString()
|
|
657
|
+
},
|
|
658
|
+
content: encryptedContent
|
|
659
|
+
});
|
|
660
|
+
}
|
|
650
661
|
if (participants.length) {
|
|
651
662
|
if (additionalAttributes?.['category'] === 'peer') {
|
|
652
663
|
const peerNode = participants[0]?.content?.[0];
|
|
@@ -700,6 +711,16 @@ export const makeMessagesSocket = (config) => {
|
|
|
700
711
|
});
|
|
701
712
|
logger.debug({ jid }, 'adding device identity');
|
|
702
713
|
}
|
|
714
|
+
const contactTcTokenData = !isGroup && !isRetryResend && !isStatus ? await authState.keys.get('tctoken', [destinationJid]) : {};
|
|
715
|
+
const tcTokenBuffer = contactTcTokenData[destinationJid]?.token;
|
|
716
|
+
if (tcTokenBuffer) {
|
|
717
|
+
;
|
|
718
|
+
stanza.content.push({
|
|
719
|
+
tag: 'tctoken',
|
|
720
|
+
attrs: {},
|
|
721
|
+
content: tcTokenBuffer
|
|
722
|
+
});
|
|
723
|
+
}
|
|
703
724
|
if (additionalNodes && additionalNodes.length > 0) {
|
|
704
725
|
;
|
|
705
726
|
stanza.content.push(...additionalNodes);
|
|
@@ -941,8 +962,8 @@ export const makeMessagesSocket = (config) => {
|
|
|
941
962
|
additionalNodes
|
|
942
963
|
});
|
|
943
964
|
if (config.emitOwnEvents) {
|
|
944
|
-
process.nextTick(() => {
|
|
945
|
-
processingMutex.mutex(() => upsertMessage(fullMsg, 'append'));
|
|
965
|
+
process.nextTick(async () => {
|
|
966
|
+
await processingMutex.mutex(() => upsertMessage(fullMsg, 'append'));
|
|
946
967
|
});
|
|
947
968
|
}
|
|
948
969
|
return fullMsg;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-send.js","sourceRoot":"","sources":["../../src/Socket/messages-send.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages-send.js","sourceRoot":"","sources":["../../src/Socket/messages-send.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,6 +134,8 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
|
|
|
134
134
|
onUnexpectedError: (err: Error | import("@hapi/boom").Boom, msg: string) => void;
|
|
135
135
|
uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
|
|
136
136
|
uploadPreKeysToServerIfRequired: () => Promise<void>;
|
|
137
|
+
digestKeyBundle: () => Promise<void>;
|
|
138
|
+
rotateSignedPreKey: () => Promise<void>;
|
|
137
139
|
requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
|
|
138
140
|
wamBuffer: import("../index.js").BinaryInfo;
|
|
139
141
|
waitForConnectionUpdate: (check: (u: Partial<import("../index.js").ConnectionState>) => Promise<boolean | undefined>, timeoutMs?: number) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newsletter.d.ts","sourceRoot":"","sources":["../../src/Socket/newsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AA0CxF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,YAAY;6BAkDxB,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;4BAbrD,MAAM,WAAW,gBAAgB;;iCAwClC,MAAM;qBACD,MAAM;;+BAOb,QAAQ,GAAG,KAAK,OAAO,MAAM;4BActC,MAAM;8BAIJ,MAAM;0BAIV,MAAM;4BAIJ,MAAM;gCAII,MAAM,QAAQ,MAAM;uCAIb,MAAM,eAAe,MAAM;mCAI/B,MAAM,WAAW,aAAa;mCAK9B,MAAM;kCAIP,MAAM,YAAY,MAAM,aAAa,MAAM;mCAmB1C,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM;sCA8BhD,MAAM,KAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;gCAgBnD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;iCASvB,MAAM,eAAe,MAAM;4BAQhC,MAAM,WAAW,MAAM;4BAIvB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"newsletter.d.ts","sourceRoot":"","sources":["../../src/Socket/newsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AA0CxF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,YAAY;6BAkDxB,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;4BAbrD,MAAM,WAAW,gBAAgB;;iCAwClC,MAAM;qBACD,MAAM;;+BAOb,QAAQ,GAAG,KAAK,OAAO,MAAM;4BActC,MAAM;8BAIJ,MAAM;0BAIV,MAAM;4BAIJ,MAAM;gCAII,MAAM,QAAQ,MAAM;uCAIb,MAAM,eAAe,MAAM;mCAI/B,MAAM,WAAW,aAAa;mCAK9B,MAAM;kCAIP,MAAM,YAAY,MAAM,aAAa,MAAM;mCAmB1C,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM;sCA8BhD,MAAM,KAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;gCAgBnD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;iCASvB,MAAM,eAAe,MAAM;4BAQhC,MAAM,WAAW,MAAM;4BAIvB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2B4ob,CAAC;;;;;;;;;0DAnP9qb,GAAG,0BAA2B,GAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4NpC,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,MAAM,GAAG,KAAG,kBAkBrD,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|
package/lib/Socket/socket.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ export declare const makeSocket: (config: SocketConfig) => {
|
|
|
37
37
|
onUnexpectedError: (err: Error | Boom, msg: string) => void;
|
|
38
38
|
uploadPreKeys: (count?: number, retryCount?: number) => Promise<void>;
|
|
39
39
|
uploadPreKeysToServerIfRequired: () => Promise<void>;
|
|
40
|
+
digestKeyBundle: () => Promise<void>;
|
|
41
|
+
rotateSignedPreKey: () => Promise<void>;
|
|
40
42
|
requestPairingCode: (phoneNumber: string, customPairingCode?: string) => Promise<string>;
|
|
41
43
|
wamBuffer: BinaryInfo;
|
|
42
44
|
/** Waits for the connection to WA to reach a state */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAcjC,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAcjC,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,UAAU,CAAA;AAwBxD,OAAO,EAEN,KAAK,UAAU,EAUf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,YAAY;UAi9B/B,IAAI;;;;;0DA58Bf,GAAG,0BAEN,GAAC;;;;;;;;;;;kBAyHyB,UAAU,cAAc,MAAM;qBA3C3B,CAAC,SAAS,MAAM;;2BA/BV,UAAU,GAAG,MAAM;sBAiB9B,UAAU;mBAikBP,MAAM;iBApGd,KAAK,GAAG,SAAS;6BAhPL,KAAK,GAAG,IAAI,OAAO,MAAM;;;2BA9JvB,OAAO,CAAC,IAAI,CAAC;8BAcV,OAAO,CAAC,IAAI,CAAC;sCA8fH,MAAM,sBAAsB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;;IAsUlG,sDAAsD;;+BA9PrB,MAAM;oCApjBK,UAAU;iCAyDb,MAAM,EAAE;;gBA0BqD,OAAO;;CAquB9G,CAAA"}
|
package/lib/Socket/socket.js
CHANGED
|
@@ -5,9 +5,9 @@ import { promisify } from 'util';
|
|
|
5
5
|
import { proto } from '../../WAProto/index.js';
|
|
6
6
|
import { DEF_CALLBACK_PREFIX, DEF_TAG_PREFIX, INITIAL_PREKEY_COUNT, MIN_PREKEY_COUNT, MIN_UPLOAD_INTERVAL, NOISE_WA_HEADER, UPLOAD_TIMEOUT } from '../Defaults/index.js';
|
|
7
7
|
import { DisconnectReason } from '../Types/index.js';
|
|
8
|
-
import { addTransactionCapability, aesEncryptCTR, bindWaitForConnectionUpdate, bytesToCrockford, configureSuccessfulPairing, Curve, derivePairingCodeKey, generateLoginNode, generateMdTagPrefix, generateRegistrationNode, getCodeFromWSError, getErrorCodeFromStreamError, getNextPreKeysNode, makeEventBuffer, makeNoiseHandler, printQRIfNecessaryListener, promiseTimeout } from '../Utils/index.js';
|
|
8
|
+
import { addTransactionCapability, aesEncryptCTR, bindWaitForConnectionUpdate, bytesToCrockford, configureSuccessfulPairing, Curve, derivePairingCodeKey, generateLoginNode, generateMdTagPrefix, generateRegistrationNode, getCodeFromWSError, getErrorCodeFromStreamError, getNextPreKeysNode, makeEventBuffer, makeNoiseHandler, printQRIfNecessaryListener, promiseTimeout, signedKeyPair, xmppSignedPreKey } from '../Utils/index.js';
|
|
9
9
|
import { getPlatformId } from '../Utils/browser-utils.js';
|
|
10
|
-
import { assertNodeErrorFree, binaryNodeToString, encodeBinaryNode, getBinaryNodeChild, getBinaryNodeChildren, isLidUser, jidDecode, jidEncode, S_WHATSAPP_NET } from '../WABinary/index.js';
|
|
10
|
+
import { assertNodeErrorFree, binaryNodeToString, encodeBinaryNode, getAllBinaryNodeChildren, getBinaryNodeChild, getBinaryNodeChildren, isLidUser, jidDecode, jidEncode, S_WHATSAPP_NET } from '../WABinary/index.js';
|
|
11
11
|
import { BinaryInfo } from '../WAM/BinaryInfo.js';
|
|
12
12
|
import { USyncQuery, USyncUser } from '../WAUSync/index.js';
|
|
13
13
|
import { WebSocketClient } from './Client/index.js';
|
|
@@ -22,13 +22,13 @@ export const makeSocket = (config) => {
|
|
|
22
22
|
const publicWAMBuffer = new BinaryInfo();
|
|
23
23
|
const uqTagId = generateMdTagPrefix();
|
|
24
24
|
const generateMessageTag = () => `${uqTagId}${epoch++}`;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
/****
|
|
26
|
+
if (printQRInTerminal) {
|
|
27
|
+
console.warn(
|
|
28
|
+
'⚠️ The printQRInTerminal option has been deprecated. You will no longer receive QR codes in the terminal automatically. Please listen to the connection.update event yourself and handle the QR your way. You can remove this message by removing this opttion. This message will be removed in a future version.'
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
*/
|
|
32
32
|
const url = typeof waWebSocketUrl === 'string' ? new URL(waWebSocketUrl) : waWebSocketUrl;
|
|
33
33
|
if (config.mobile || url.protocol === 'tcp:') {
|
|
34
34
|
throw new Boom('Mobile API is not supported anymore', { statusCode: DisconnectReason.loggedOut });
|
|
@@ -132,6 +132,37 @@ export const makeSocket = (config) => {
|
|
|
132
132
|
}
|
|
133
133
|
return result;
|
|
134
134
|
};
|
|
135
|
+
// Validate current key-bundle on server; on failure, trigger pre-key upload and rethrow
|
|
136
|
+
const digestKeyBundle = async () => {
|
|
137
|
+
const res = await query({
|
|
138
|
+
tag: 'iq',
|
|
139
|
+
attrs: { to: S_WHATSAPP_NET, type: 'get', xmlns: 'encrypt' },
|
|
140
|
+
content: [{ tag: 'digest', attrs: {} }]
|
|
141
|
+
});
|
|
142
|
+
const digestNode = getBinaryNodeChild(res, 'digest');
|
|
143
|
+
if (!digestNode) {
|
|
144
|
+
await uploadPreKeys();
|
|
145
|
+
throw new Error('encrypt/get digest returned no digest node');
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
// Rotate our signed pre-key on server; on failure, run digest as fallback and rethrow
|
|
149
|
+
const rotateSignedPreKey = async () => {
|
|
150
|
+
const newId = (creds.signedPreKey.keyId || 0) + 1;
|
|
151
|
+
const skey = await signedKeyPair(creds.signedIdentityKey, newId);
|
|
152
|
+
await query({
|
|
153
|
+
tag: 'iq',
|
|
154
|
+
attrs: { to: S_WHATSAPP_NET, type: 'set', xmlns: 'encrypt' },
|
|
155
|
+
content: [
|
|
156
|
+
{
|
|
157
|
+
tag: 'rotate',
|
|
158
|
+
attrs: {},
|
|
159
|
+
content: [xmppSignedPreKey(skey)]
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
});
|
|
163
|
+
// Persist new signed pre-key in creds
|
|
164
|
+
ev.emit('creds.update', { signedPreKey: skey });
|
|
165
|
+
};
|
|
135
166
|
const executeUSyncQuery = async (usyncQuery) => {
|
|
136
167
|
if (usyncQuery.protocols.length === 0) {
|
|
137
168
|
throw new Boom('USyncQuery must have at least one protocol');
|
|
@@ -294,7 +325,7 @@ export const makeSocket = (config) => {
|
|
|
294
325
|
payload: payloadEnc
|
|
295
326
|
}
|
|
296
327
|
}).finish());
|
|
297
|
-
noise.finishInit();
|
|
328
|
+
await noise.finishInit();
|
|
298
329
|
startKeepAliveRequest();
|
|
299
330
|
};
|
|
300
331
|
const getAvailablePreKeysOnServer = async () => {
|
|
@@ -410,8 +441,8 @@ export const makeSocket = (config) => {
|
|
|
410
441
|
// Don't throw - allow connection to continue even if pre-key check fails
|
|
411
442
|
}
|
|
412
443
|
};
|
|
413
|
-
const onMessageReceived = (data) => {
|
|
414
|
-
noise.decodeFrame(data, frame => {
|
|
444
|
+
const onMessageReceived = async (data) => {
|
|
445
|
+
await noise.decodeFrame(data, frame => {
|
|
415
446
|
// reset ping timeout
|
|
416
447
|
lastDateRecv = new Date();
|
|
417
448
|
let anyTriggered = false;
|
|
@@ -707,6 +738,13 @@ export const makeSocket = (config) => {
|
|
|
707
738
|
try {
|
|
708
739
|
await uploadPreKeysToServerIfRequired();
|
|
709
740
|
await sendPassiveIq('active');
|
|
741
|
+
// After successful login, validate our key-bundle against server
|
|
742
|
+
try {
|
|
743
|
+
await digestKeyBundle();
|
|
744
|
+
}
|
|
745
|
+
catch (e) {
|
|
746
|
+
logger.warn({ e }, 'failed to run digest after login');
|
|
747
|
+
}
|
|
710
748
|
}
|
|
711
749
|
catch (err) {
|
|
712
750
|
logger.warn({ err }, 'failed to send initial passive iq');
|
|
@@ -740,9 +778,10 @@ export const makeSocket = (config) => {
|
|
|
740
778
|
}
|
|
741
779
|
});
|
|
742
780
|
ws.on('CB:stream:error', (node) => {
|
|
743
|
-
|
|
781
|
+
const [reasonNode] = getAllBinaryNodeChildren(node);
|
|
782
|
+
logger.error({ reasonNode, fullErrorNode: node }, 'stream errored out');
|
|
744
783
|
const { reason, statusCode } = getErrorCodeFromStreamError(node);
|
|
745
|
-
end(new Boom(`Stream Errored (${reason})`, { statusCode, data: node }));
|
|
784
|
+
end(new Boom(`Stream Errored (${reason})`, { statusCode, data: reasonNode || node }));
|
|
746
785
|
});
|
|
747
786
|
// stream fail, possible logout
|
|
748
787
|
ws.on('CB:failure', (node) => {
|
|
@@ -752,9 +791,9 @@ export const makeSocket = (config) => {
|
|
|
752
791
|
ws.on('CB:ib,,downgrade_webclient', () => {
|
|
753
792
|
end(new Boom('Multi-device beta not joined', { statusCode: DisconnectReason.multideviceMismatch }));
|
|
754
793
|
});
|
|
755
|
-
ws.on('CB:ib,,offline_preview', (node) => {
|
|
794
|
+
ws.on('CB:ib,,offline_preview', async (node) => {
|
|
756
795
|
logger.info('offline preview received', JSON.stringify(node));
|
|
757
|
-
sendNode({
|
|
796
|
+
await sendNode({
|
|
758
797
|
tag: 'ib',
|
|
759
798
|
attrs: {},
|
|
760
799
|
content: [{ tag: 'offline_batch', attrs: { count: '100' } }]
|
|
@@ -827,6 +866,8 @@ export const makeSocket = (config) => {
|
|
|
827
866
|
onUnexpectedError,
|
|
828
867
|
uploadPreKeys,
|
|
829
868
|
uploadPreKeysToServerIfRequired,
|
|
869
|
+
digestKeyBundle,
|
|
870
|
+
rotateSignedPreKey,
|
|
830
871
|
requestPairingCode,
|
|
831
872
|
wamBuffer: publicWAMBuffer,
|
|
832
873
|
/** Waits for the connection to WA to reach a state */
|