@lordmega/baileys 0.3.22 → 0.3.24

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.
Files changed (59) hide show
  1. package/README.md +116 -5
  2. package/WAProto/index.d.ts +26 -0
  3. package/WAProto/index.js +203 -0
  4. package/lib/Defaults/index.d.ts +1 -0
  5. package/lib/Defaults/index.d.ts.map +1 -1
  6. package/lib/Defaults/index.js +1 -0
  7. package/lib/Defaults/index.js.map +1 -1
  8. package/lib/Signal/libsignal.js +4 -4
  9. package/lib/Socket/Client/websocket.js +10 -5
  10. package/lib/Socket/business.d.ts +1 -1
  11. package/lib/Socket/chats.d.ts +1 -1
  12. package/lib/Socket/chats.js +8 -6
  13. package/lib/Socket/chats.js.map +1 -1
  14. package/lib/Socket/communities.d.ts +1 -1
  15. package/lib/Socket/communities.js +3 -2
  16. package/lib/Socket/groups.d.ts +1 -1
  17. package/lib/Socket/groups.js +24 -8
  18. package/lib/Socket/index.d.ts +1 -1
  19. package/lib/Socket/messages-recv.d.ts +1 -1
  20. package/lib/Socket/messages-recv.js +92 -24
  21. package/lib/Socket/messages-send.d.ts +2 -1
  22. package/lib/Socket/messages-send.js +68 -8
  23. package/lib/Socket/messages-send.js.map +1 -1
  24. package/lib/Socket/newsletter.d.ts +1 -1
  25. package/lib/Socket/newsletter.js +28 -1
  26. package/lib/Socket/socket.js +41 -13
  27. package/lib/Store/make-in-memory-store.js +7 -2
  28. package/lib/Utils/browser-utils.d.ts +1 -0
  29. package/lib/Utils/browser-utils.js +1 -0
  30. package/lib/Utils/crypto.js +34 -1
  31. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  32. package/lib/Utils/decode-wa-message.js.map +1 -1
  33. package/lib/Utils/event-buffer.js +19 -2
  34. package/lib/Utils/generics.js +3 -6
  35. package/lib/Utils/index.js.map +1 -1
  36. package/lib/Utils/message-retry-manager.d.ts +1 -0
  37. package/lib/Utils/message-retry-manager.js +7 -0
  38. package/lib/Utils/messages-media.js +108 -41
  39. package/lib/Utils/messages.d.ts.map +1 -1
  40. package/lib/Utils/messages.js +58 -162
  41. package/lib/Utils/messages.js.map +1 -1
  42. package/lib/Utils/process-message.d.ts +1 -0
  43. package/lib/Utils/process-message.d.ts.map +1 -1
  44. package/lib/Utils/process-message.js +154 -78
  45. package/lib/Utils/process-message.js.map +1 -1
  46. package/lib/Utils/reporting-utils.d.ts +1 -0
  47. package/lib/Utils/reporting-utils.js +1 -1
  48. package/lib/Utils/rich-message-utils.d.ts.map +1 -1
  49. package/lib/Utils/rich-message-utils.js.map +1 -1
  50. package/lib/Utils/tc-token-utils.js +9 -11
  51. package/lib/Utils/use-multi-file-auth-state.js +10 -11
  52. package/lib/Utils/use-single-file-auth-state.js +8 -2
  53. package/lib/Utils/validate-connection.js +10 -4
  54. package/lib/WABinary/constants.d.ts.map +1 -1
  55. package/lib/WABinary/constants.js.map +1 -1
  56. package/lib/WAUSync/USyncQuery.js +24 -2
  57. package/package.json +10 -7
  58. package/lib/Utils/use-sqlite-auth-state.d.ts.map +0 -1
  59. package/lib/Utils/use-sqlite-auth-state.js.map +0 -1
@@ -566,7 +566,6 @@ export const makeChatsSocket = (config) => {
566
566
  * type = "image for the high res picture"
567
567
  */
568
568
  const profilePictureUrl = async (jid, type = 'image', timeoutMs = 5000, shouldIncludeTcToken = false) => {
569
- const baseContent = [{ tag: 'picture', attrs: { type, query: 'url' } }];
570
569
  // WA Web only includes tctoken for user JIDs (not groups/newsletters)
571
570
  // and never for own profile pic (Chat model for self has no tcToken).
572
571
  // Including tctoken for own JID causes the server to never respond.
@@ -574,15 +573,18 @@ export const makeChatsSocket = (config) => {
574
573
  const isUserJid = isPnUser(normalizedJid) || isLidUser(normalizedJid);
575
574
  const me = authState.creds.me;
576
575
  const isSelf = me && (normalizedJid === jidNormalizedUser(me.id) || (me.lid && normalizedJid === jidNormalizedUser(me.lid)));
577
- let content = baseContent;
576
+ // tctoken must be nested inside <picture>, not a sibling (#2589)
577
+ // gated behind shouldIncludeTcToken — off by default avoids 408 timeouts
578
+ let pictureChildren = undefined;
578
579
  if (shouldIncludeTcToken && serverProps.profilePicPrivacyToken && isUserJid && !isSelf) {
579
- content = await buildTcTokenFromJid({
580
+ const tcTokenNode = await buildTcTokenFromJid({
580
581
  authState,
581
582
  jid: normalizedJid,
582
- baseContent,
583
583
  getLIDForPN
584
584
  });
585
+ if (tcTokenNode) pictureChildren = [tcTokenNode];
585
586
  }
587
+ const content = [{ tag: 'picture', attrs: { type, query: 'url' }, content: pictureChildren }];
586
588
  jid = jidNormalizedUser(jid);
587
589
  const result = await query({
588
590
  tag: 'iq',
@@ -661,7 +663,7 @@ export const makeChatsSocket = (config) => {
661
663
  // Only include tctoken for user JIDs — groups/newsletters don't use tctokens
662
664
  const normalizedToJid = jidNormalizedUser(toJid);
663
665
  const isUserJid = isPnUser(normalizedToJid) || isLidUser(normalizedToJid);
664
- const tcTokenContent = isUserJid
666
+ const tcTokenNode = isUserJid
665
667
  ? await buildTcTokenFromJid({ authState, jid: normalizedToJid, getLIDForPN })
666
668
  : undefined;
667
669
  return sendNode({
@@ -671,7 +673,7 @@ export const makeChatsSocket = (config) => {
671
673
  id: generateMessageTag(),
672
674
  type: 'subscribe'
673
675
  },
674
- content: tcTokenContent
676
+ content: tcTokenNode ? [tcTokenNode] : undefined
675
677
  });
676
678
  };
677
679
  const handlePresenceUpdate = ({ tag, attrs, content }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/Socket/chats.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/Socket/chats.js"],"names":[],"mappings":"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"}
@@ -436,7 +436,7 @@ export function makeCommunitiesSocket(config: any): {
436
436
  appPatch: (patchCreate: any) => Promise<void>;
437
437
  sendPresenceUpdate: (type: any, toJid: any) => Promise<void>;
438
438
  presenceSubscribe: (toJid: any) => Promise<void>;
439
- profilePictureUrl: (jid: any, type?: string, timeoutMs?: number, shouldIncludeTcToken?: boolean) => Promise<any>;
439
+ profilePictureUrl: (jid: any, type: string | undefined, timeoutMs: any) => Promise<any>;
440
440
  fetchBlocklist: () => Promise<any>;
441
441
  fetchStatus: (...jids: any[]) => Promise<any>;
442
442
  fetchDisappearingDuration: (...jids: any[]) => Promise<any>;
@@ -353,7 +353,7 @@ export const makeCommunitiesSocket = (config) => {
353
353
  remoteJid: inviteMessage.groupJid,
354
354
  id: generateMessageIDV2(sock.user?.id),
355
355
  fromMe: false,
356
- participant: key.remoteJid // TODO: investigate if this makes any sense at all
356
+ participant: key.remoteJid
357
357
  },
358
358
  messageStubType: WAMessageStubType.GROUP_PARTICIPANT_ADD,
359
359
  messageStubParameters: [JSON.stringify(authState.creds.me)],
@@ -419,8 +419,9 @@ export const extractCommunityMetadata = (result) => {
419
419
  memberAddMode,
420
420
  participants: getBinaryNodeChildren(community, 'participant').map(({ attrs }) => {
421
421
  return {
422
- // TODO: IMPLEMENT THE PN/LID FIELDS HERE!!
423
422
  id: attrs.jid,
423
+ lid: attrs.lid || undefined,
424
+ phoneNumber: attrs.phone_number || undefined,
424
425
  admin: (attrs.type || null)
425
426
  };
426
427
  }),
@@ -151,7 +151,7 @@ export function makeGroupsSocket(config: any): {
151
151
  appPatch: (patchCreate: any) => Promise<void>;
152
152
  sendPresenceUpdate: (type: any, toJid: any) => Promise<void>;
153
153
  presenceSubscribe: (toJid: any) => Promise<void>;
154
- profilePictureUrl: (jid: any, type?: string, timeoutMs?: number, shouldIncludeTcToken?: boolean) => Promise<any>;
154
+ profilePictureUrl: (jid: any, type: string | undefined, timeoutMs: any) => Promise<any>;
155
155
  fetchBlocklist: () => Promise<any>;
156
156
  fetchStatus: (...jids: any[]) => Promise<any>;
157
157
  fetchDisappearingDuration: (...jids: any[]) => Promise<any>;
@@ -6,7 +6,7 @@ import { getBinaryNodeChild, getBinaryNodeChildren, getBinaryNodeChildString, is
6
6
  import { makeChatsSocket } from './chats.js';
7
7
  export const makeGroupsSocket = (config) => {
8
8
  const sock = makeChatsSocket(config);
9
- const { authState, ev, query, upsertMessage } = sock;
9
+ const { authState, ev, query, upsertMessage, signalRepository } = sock;
10
10
  const groupQuery = async (jid, type, content) => query({
11
11
  tag: 'iq',
12
12
  attrs: {
@@ -16,9 +16,20 @@ export const makeGroupsSocket = (config) => {
16
16
  },
17
17
  content
18
18
  });
19
+ const storeGroupLIDMappings = async (participants) => {
20
+ if (!signalRepository?.lidMapping)
21
+ return;
22
+ const pairs = participants
23
+ .filter(p => p.lid && p.phoneNumber)
24
+ .map(p => ({ lid: p.lid, pn: p.phoneNumber }));
25
+ if (pairs.length)
26
+ await signalRepository.lidMapping.storeLIDPNMappings(pairs).catch(() => { });
27
+ };
19
28
  const groupMetadata = async (jid) => {
20
29
  const result = await groupQuery(jid, 'get', [{ tag: 'query', attrs: { request: 'interactive' } }]);
21
- return extractGroupMetadata(result);
30
+ const meta = extractGroupMetadata(result);
31
+ storeGroupLIDMappings(meta.participants).catch(() => { });
32
+ return meta;
22
33
  };
23
34
  const groupFetchAllParticipating = async () => {
24
35
  const result = await query({
@@ -44,12 +55,17 @@ export const makeGroupsSocket = (config) => {
44
55
  if (groupsChild) {
45
56
  const groups = getBinaryNodeChildren(groupsChild, 'group');
46
57
  for (const groupNode of groups) {
47
- const meta = extractGroupMetadata({
48
- tag: 'result',
49
- attrs: {},
50
- content: [groupNode]
51
- });
52
- data[meta.id] = meta;
58
+ try {
59
+ const meta = extractGroupMetadata({
60
+ tag: 'result',
61
+ attrs: {},
62
+ content: [groupNode]
63
+ });
64
+ data[meta.id] = meta;
65
+ }
66
+ catch (err) {
67
+ sock.logger.warn({ err, groupNode: groupNode?.attrs }, 'failed to parse group in groupFetchAllParticipating, skipping');
68
+ }
53
69
  }
54
70
  }
55
71
  // TODO: properly parse LID / PN DATA
@@ -426,7 +426,7 @@ declare function makeWASocket(config: any): {
426
426
  appPatch: (patchCreate: any) => Promise<void>;
427
427
  sendPresenceUpdate: (type: any, toJid: any) => Promise<void>;
428
428
  presenceSubscribe: (toJid: any) => Promise<void>;
429
- profilePictureUrl: (jid: any, type?: string, timeoutMs?: number, shouldIncludeTcToken?: boolean) => Promise<any>;
429
+ profilePictureUrl: (jid: any, type: string | undefined, timeoutMs: any) => Promise<any>;
430
430
  fetchBlocklist: () => Promise<any>;
431
431
  fetchStatus: (...jids: any[]) => Promise<any>;
432
432
  fetchDisappearingDuration: (...jids: any[]) => Promise<any>;
@@ -229,7 +229,7 @@ export function makeMessagesRecvSocket(config: any): {
229
229
  appPatch: (patchCreate: any) => Promise<void>;
230
230
  sendPresenceUpdate: (type: any, toJid: any) => Promise<void>;
231
231
  presenceSubscribe: (toJid: any) => Promise<void>;
232
- profilePictureUrl: (jid: any, type?: string, timeoutMs?: number, shouldIncludeTcToken?: boolean) => Promise<any>;
232
+ profilePictureUrl: (jid: any, type: string | undefined, timeoutMs: any) => Promise<any>;
233
233
  fetchBlocklist: () => Promise<any>;
234
234
  fetchStatus: (...jids: any[]) => Promise<any>;
235
235
  fetchDisappearingDuration: (...jids: any[]) => Promise<any>;
@@ -5,7 +5,7 @@ import Long from 'long';
5
5
  import { proto } from '../../WAProto/index.js';
6
6
  import { DEFAULT_CACHE_TTLS, KEY_BUNDLE_TYPE, MIN_PREKEY_COUNT, PLACEHOLDER_MAX_AGE_SECONDS, STATUS_EXPIRY_SECONDS } from '../Defaults/index.js';
7
7
  import { ReachoutTimelockEnforcementType, WAMessageStatus, WAMessageStubType } from '../Types/index.js';
8
- import { ACCOUNT_RESTRICTED_TEXT, aesDecryptCTR, aesEncryptGCM, cleanMessage, Curve, decodeMediaRetryNode, decodeMessageNode, decryptMessageNode, delay, derivePairingCodeKey, encodeBigEndian, encodeSignedDeviceIdentity, extractAddressingContext, extractE2ESessionFromRetryReceipt, getCallStatusFromNode, getHistoryMsg, getNextPreKeys, getStatusFromReceiptType, handleIdentityChange, hkdf, MISSING_KEYS_ERROR_TEXT, NACK_REASONS, NO_MESSAGE_FOUND_ERROR_TEXT, SERVER_ERROR_CODES, toNumber, unixTimestampSeconds, xmppPreKey, xmppSignedPreKey } from '../Utils/index.js';
8
+ import { ACCOUNT_RESTRICTED_TEXT, aesDecryptCTR, aesEncryptGCM, cleanMessage, Curve, decodeMediaRetryNode, decodeMessageNode, decryptMessageNode, decryptSecretEncryptedMessage, delay, derivePairingCodeKey, encodeBigEndian, encodeSignedDeviceIdentity, extractAddressingContext, extractE2ESessionFromRetryReceipt, getCallStatusFromNode, getHistoryMsg, getNextPreKeys, getStatusFromReceiptType, handleIdentityChange, hkdf, MISSING_KEYS_ERROR_TEXT, NACK_REASONS, NO_MESSAGE_FOUND_ERROR_TEXT, normalizeMessageContent, SERVER_ERROR_CODES, toNumber, unixTimestampSeconds, xmppPreKey, xmppSignedPreKey } from '../Utils/index.js';
9
9
  import { makeMutex } from '../Utils/make-mutex.js';
10
10
  import { makeOfflineNodeProcessor } from '../Utils/offline-node-processor.js';
11
11
  import { buildAckStanza } from '../Utils/stanza-ack.js';
@@ -384,7 +384,23 @@ export const makeMessagesRecvSocket = (config) => {
384
384
  };
385
385
  await query(stanza);
386
386
  };
387
- const sendRetryRequest = async (node, forceIncludeKeys = false) => {
387
+ const mapDecryptErrorToRetryReason = (errMsg) => {
388
+ if (!errMsg)
389
+ return '0';
390
+ const m = errMsg.toLowerCase();
391
+ if (m.includes('no session'))
392
+ return '1';
393
+ if (m.includes('invalid key id') || m.includes('unknown keyid'))
394
+ return '3';
395
+ if (m.includes('bad mac') || m.includes('badmac'))
396
+ return '7';
397
+ if (m.includes('invalid message') || m.includes('badmessage'))
398
+ return '4';
399
+ if (m.includes('invalid signature'))
400
+ return '5';
401
+ return '0';
402
+ };
403
+ const sendRetryRequest = async (node, forceIncludeKeys = false, decryptErrorMsg) => {
388
404
  const { fullMessage } = decodeMessageNode(node, authState.creds.me.id, authState.creds.me.lid || '');
389
405
  const { key: msgKey } = fullMessage;
390
406
  const msgId = msgKey.id;
@@ -476,8 +492,7 @@ export const makeMessagesRecvSocket = (config) => {
476
492
  id: node.attrs.id,
477
493
  t: node.attrs.t,
478
494
  v: '1',
479
- // ADD ERROR FIELD
480
- error: '0'
495
+ error: mapDecryptErrorToRetryReason(decryptErrorMsg)
481
496
  }
482
497
  },
483
498
  {
@@ -635,7 +650,6 @@ export const makeMessagesRecvSocket = (config) => {
635
650
  const stubType = `GROUP_PARTICIPANT_${child.tag.toUpperCase()}`;
636
651
  msg.messageStubType = WAMessageStubType[stubType];
637
652
  const participants = getBinaryNodeChildren(child, 'participant').map(({ attrs }) => {
638
- // TODO: Store LID MAPPINGS
639
653
  return {
640
654
  id: attrs.jid,
641
655
  phoneNumber: isLidUser(attrs.jid) && isPnUser(attrs.phone_number) ? attrs.phone_number : undefined,
@@ -644,6 +658,15 @@ export const makeMessagesRecvSocket = (config) => {
644
658
  admin: (attrs.type || null)
645
659
  };
646
660
  });
661
+ // store LID-PN mappings from participant notification
662
+ {
663
+ const pairs = participants
664
+ .filter(p => p.lid && p.phoneNumber)
665
+ .map(p => ({ lid: p.lid, pn: p.phoneNumber }));
666
+ if (pairs.length) {
667
+ signalRepository.lidMapping.storeLIDPNMappings(pairs).catch(err => logger.warn({ err }, 'failed to store group participant LID mappings'));
668
+ }
669
+ }
647
670
  if (participants.length === 1 &&
648
671
  // if recv. "remove" message and sender removed themselves
649
672
  // mark as left
@@ -701,7 +724,10 @@ export const makeMessagesRecvSocket = (config) => {
701
724
  break;
702
725
  case 'revoked_membership_requests':
703
726
  const isDenied = areJidsSameUser(affectedParticipantLid, actingParticipantLid);
704
- // TODO: LIDMAPPING SUPPORT
727
+ if (affectedParticipantLid && affectedParticipantPn) {
728
+ signalRepository.lidMapping.storeLIDPNMappings([{ lid: affectedParticipantLid, pn: affectedParticipantPn }])
729
+ .catch(err => logger.warn({ err }, 'failed to store membership request LID mapping'));
730
+ }
705
731
  msg.messageStubType = WAMessageStubType.GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD;
706
732
  msg.messageStubParameters = [
707
733
  JSON.stringify({ lid: affectedParticipantLid, pn: affectedParticipantPn }),
@@ -828,19 +854,24 @@ export const makeMessagesRecvSocket = (config) => {
828
854
  const update = getBinaryNodeChild(node, 'collection');
829
855
  if (update) {
830
856
  const name = update.attrs.name;
831
- await resyncAppState([name], false);
857
+ // guard: resyncAppState failure must not block the notification mutex (#2453)
858
+ await resyncAppState([name], false).catch(err => logger.warn({ err, name }, 'server_sync resyncAppState failed, skipping'));
832
859
  }
833
860
  break;
834
861
  case 'picture':
835
862
  const setPicture = getBinaryNodeChild(node, 'set');
836
863
  const delPicture = getBinaryNodeChild(node, 'delete');
837
- // TODO: WAJIDHASH stuff proper support inhouse
838
- ev.emit('contacts.update', [
839
- {
840
- id: jidNormalizedUser(node?.attrs?.from) || (setPicture || delPicture)?.attrs?.hash || '',
841
- imgUrl: setPicture ? 'changed' : 'removed'
842
- }
843
- ]);
864
+ // use node.attrs.from as the contact JID; attrs.hash is a server-side
865
+ // obfuscated reference not suitable as a contact identifier
866
+ const picContactJid = jidNormalizedUser(node?.attrs?.from);
867
+ if (picContactJid) {
868
+ ev.emit('contacts.update', [
869
+ {
870
+ id: picContactJid,
871
+ imgUrl: setPicture ? 'changed' : 'removed'
872
+ }
873
+ ]);
874
+ }
844
875
  if (isJidGroup(from)) {
845
876
  const node = setPicture || delPicture;
846
877
  result.messageStubType = WAMessageStubType.GROUP_CHANGE_ICON;
@@ -1198,7 +1229,7 @@ export const makeMessagesRecvSocket = (config) => {
1198
1229
  else {
1199
1230
  ev.emit('messages.update', ids.map(id => ({
1200
1231
  key: { ...key, id },
1201
- update: { status, messageTimestamp: toNumber(+(attrs.t ?? 0)) }
1232
+ update: { status, ...(attrs.t ? { messageTimestamp: toNumber(+attrs.t) } : {}) }
1202
1233
  })));
1203
1234
  }
1204
1235
  }
@@ -1265,13 +1296,19 @@ export const makeMessagesRecvSocket = (config) => {
1265
1296
  };
1266
1297
  const handleMessage = async (node) => {
1267
1298
  const encNode = getBinaryNodeChild(node, 'enc');
1268
- // TODO: temporary fix for crashes and issues resulting of failed msmsg decryption
1299
+ // msmsg = multi-signal business message; requires MESSAGE_SECRET from phone
1300
+ // that companions don't have. NACK with MissingMessageSecret so the server
1301
+ // knows to request the key from the primary device.
1269
1302
  if (encNode?.attrs.type === 'msmsg') {
1270
- logger.debug({ key: node.attrs.key }, 'ignored msmsg');
1303
+ logger.debug({ key: node.attrs.key }, 'recv msmsg: requesting key from phone');
1271
1304
  await sendMessageAck(node, NACK_REASONS.MissingMessageSecret);
1272
1305
  return;
1273
1306
  }
1274
1307
  let acked = false;
1308
+ // Send provisional ACK before entering messageMutex so WA server doesn't
1309
+ // stop delivery when mutex is contended (slow DB, high load).
1310
+ // Matches WA Web behaviour: transport ACK is sent immediately on receipt.
1311
+ sendMessageAck(node).then(() => { acked = true; }).catch(err => logger.warn({ err }, 'provisional ack failed'));
1275
1312
  try {
1276
1313
  const { fullMessage: msg, category, author, decrypt } = decryptMessageNode(node, authState.creds.me.id, authState.creds.me.lid || '', signalRepository, logger);
1277
1314
  const alt = msg.key.participantAlt || msg.key.remoteJidAlt;
@@ -1376,7 +1413,8 @@ export const makeMessagesRecvSocket = (config) => {
1376
1413
  return;
1377
1414
  }
1378
1415
  const encNode = getBinaryNodeChild(node, 'enc');
1379
- await sendRetryRequest(node, !encNode);
1416
+ const decryptErrMsg = msg.messageStubParameters?.[0];
1417
+ await sendRetryRequest(node, !encNode, decryptErrMsg);
1380
1418
  if (retryRequestDelayMs) {
1381
1419
  await delay(retryRequestDelayMs);
1382
1420
  }
@@ -1405,9 +1443,15 @@ export const makeMessagesRecvSocket = (config) => {
1405
1443
  else if (msg.key.fromMe) {
1406
1444
  // message was sent by us from a different device
1407
1445
  type = 'sender';
1408
- // need to specially handle this case
1446
+ // for LID-addressed conversations, resolve participant to PN for receipt
1409
1447
  if (isLidUser(msg.key.remoteJid) || isLidUser(msg.key.remoteJidAlt)) {
1410
- participant = author; // TODO: investigate sending receipts to LIDs and not PNs
1448
+ if (author && isLidUser(author)) {
1449
+ const pn = await signalRepository.lidMapping.getPNForLID(author).catch(() => null);
1450
+ participant = pn || author;
1451
+ }
1452
+ else {
1453
+ participant = author;
1454
+ }
1411
1455
  }
1412
1456
  }
1413
1457
  else if (!sendActiveReceipts) {
@@ -1415,11 +1459,11 @@ export const makeMessagesRecvSocket = (config) => {
1415
1459
  }
1416
1460
  acked = true;
1417
1461
  await sendReceipt(msg.key.remoteJid, participant, [msg.key.id], type);
1418
- // send ack for history message
1462
+ // acknowledge receipt of history sync message to the sender
1419
1463
  const isAnyHistoryMsg = getHistoryMsg(msg.message);
1420
1464
  if (isAnyHistoryMsg) {
1421
1465
  const jid = jidNormalizedUser(msg.key.remoteJid);
1422
- await sendReceipt(jid, undefined, [msg.key.id], 'hist_sync'); // TODO: investigate
1466
+ await sendReceipt(jid, undefined, [msg.key.id], 'hist_sync');
1423
1467
  }
1424
1468
  }
1425
1469
  else {
@@ -1429,6 +1473,26 @@ export const makeMessagesRecvSocket = (config) => {
1429
1473
  }
1430
1474
  }
1431
1475
  cleanMessage(msg, authState.creds.me.id, authState.creds.me.lid);
1476
+ // Lia@Note --- decrypt secret encrypted message edits (#2554)
1477
+ const secretContent = normalizeMessageContent(msg.message);
1478
+ const secretEncryptedMessage = secretContent?.secretEncryptedMessage;
1479
+ if (secretEncryptedMessage) {
1480
+ const targetMessageKey = secretEncryptedMessage.targetMessageKey;
1481
+ const originalMessage = targetMessageKey?.id
1482
+ ? (messageRetryManager?.getRecentMessageById(targetMessageKey.id)?.message ??
1483
+ (await getMessage(targetMessageKey).catch(err => {
1484
+ logger.warn({ err, targetMessageKey }, 'failed to load original message for secret encrypted message');
1485
+ return undefined;
1486
+ })))
1487
+ : undefined;
1488
+ const messageSecret = normalizeMessageContent(originalMessage)?.messageContextInfo?.messageSecret;
1489
+ if (messageSecret?.length) {
1490
+ await decryptSecretEncryptedMessage(msg, messageSecret, authState.creds.me.id, authState.creds.me.lid, logger);
1491
+ }
1492
+ else {
1493
+ logger.warn({ secretEncType: secretEncryptedMessage.secretEncType, targetMessageKey }, 'missing original message secret for secret encrypted message');
1494
+ }
1495
+ }
1432
1496
  await upsertMessage(msg, node.attrs.offline ? 'append' : 'notify');
1433
1497
  });
1434
1498
  }
@@ -1585,7 +1649,7 @@ export const makeMessagesRecvSocket = (config) => {
1585
1649
  isWsOpen: () => ws.isOpen,
1586
1650
  onUnexpectedError,
1587
1651
  yieldToEventLoop: () => new Promise(resolve => setImmediate(resolve))
1588
- });
1652
+ }, config.offlineNodeBatchSize ?? 50);
1589
1653
  const processNode = async (type, node, identifier, exec) => {
1590
1654
  // Fast path: ack and drop ignored JIDs before entering the buffer/queue
1591
1655
  const from = node.attrs.from;
@@ -1596,7 +1660,11 @@ export const makeMessagesRecvSocket = (config) => {
1596
1660
  const isNodeFromMe = areJidsSameUser(attrs.participant || attrs.from, isLid ? authState.creds.me?.lid : authState.creds.me?.id);
1597
1661
  ignoreJid = !isNodeFromMe || isJidGroup(attrs.from) ? attrs.from : attrs.recipient;
1598
1662
  }
1599
- if (ignoreJid && ignoreJid !== S_WHATSAPP_NET && shouldIgnoreJid(ignoreJid)) {
1663
+ // never ignore pkmsg (pre-key messages) they establish Signal sessions;
1664
+ // and never ignore retry receipts — they request message re-encryption (#2509)
1665
+ const encType = getBinaryNodeChild(node, 'enc')?.attrs?.type;
1666
+ const isProtocolCritical = encType === 'pkmsg' || node.attrs.type === 'retry';
1667
+ if (!isProtocolCritical && ignoreJid && ignoreJid !== S_WHATSAPP_NET && shouldIgnoreJid(ignoreJid)) {
1600
1668
  await sendMessageAck(node, type === 'message' ? NACK_REASONS.UnhandledError : undefined);
1601
1669
  return;
1602
1670
  }
@@ -44,6 +44,7 @@ export function makeMessagesSocket(config: any): {
44
44
  messageRetryManager: MessageRetryManager | null;
45
45
  updateMemberLabel: (jid: any, memberLabel: any) => Promise<any>;
46
46
  updateMediaMessage: (message: any) => Promise<any>;
47
+ rvo: (message: any, jid?: any, options?: {}) => Promise<proto.WebMessageInfo>;
47
48
  sendMessage: (jid: any, content: any, options?: {}) => Promise<proto.WebMessageInfo | undefined>;
48
49
  executeWMexQuery: (variables: any, queryId: any, dataPath: any) => Promise<any>;
49
50
  newsletterCreate: (name: any, description: any) => Promise<{
@@ -224,7 +225,7 @@ export function makeMessagesSocket(config: any): {
224
225
  appPatch: (patchCreate: any) => Promise<void>;
225
226
  sendPresenceUpdate: (type: any, toJid: any) => Promise<void>;
226
227
  presenceSubscribe: (toJid: any) => Promise<void>;
227
- profilePictureUrl: (jid: any, type?: string, timeoutMs?: number, shouldIncludeTcToken?: boolean) => Promise<any>;
228
+ profilePictureUrl: (jid: any, type: string | undefined, timeoutMs: any) => Promise<any>;
228
229
  fetchBlocklist: () => Promise<any>;
229
230
  fetchStatus: (...jids: any[]) => Promise<any>;
230
231
  fetchDisappearingDuration: (...jids: any[]) => Promise<any>;