@queenanya/baileys 9.5.4 → 9.5.5-beta.0

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 (186) hide show
  1. package/README.md +309 -1831
  2. package/WAProto/fix-imports.js +22 -18
  3. package/WAProto/index.js +22 -18
  4. package/lib/Defaults/index.d.ts +2 -0
  5. package/lib/Defaults/index.d.ts.map +1 -1
  6. package/lib/Defaults/index.js +3 -1
  7. package/lib/Defaults/index.js.map +1 -1
  8. package/lib/Socket/business.d.ts +80 -3
  9. package/lib/Socket/business.d.ts.map +1 -1
  10. package/lib/Socket/chats.d.ts +9 -0
  11. package/lib/Socket/chats.d.ts.map +1 -1
  12. package/lib/Socket/chats.js +216 -58
  13. package/lib/Socket/chats.js.map +1 -1
  14. package/lib/Socket/communities.d.ts +80 -3
  15. package/lib/Socket/communities.d.ts.map +1 -1
  16. package/lib/Socket/groups.d.ts +6 -0
  17. package/lib/Socket/groups.d.ts.map +1 -1
  18. package/lib/Socket/groups.js +6 -0
  19. package/lib/Socket/groups.js.map +1 -1
  20. package/lib/Socket/index.d.ts +80 -3
  21. package/lib/Socket/index.d.ts.map +1 -1
  22. package/lib/Socket/messages-recv.d.ts +80 -3
  23. package/lib/Socket/messages-recv.d.ts.map +1 -1
  24. package/lib/Socket/messages-recv.js +315 -60
  25. package/lib/Socket/messages-recv.js.map +1 -1
  26. package/lib/Socket/messages-send.d.ts +109 -3
  27. package/lib/Socket/messages-send.d.ts.map +1 -1
  28. package/lib/Socket/messages-send.js +170 -4
  29. package/lib/Socket/messages-send.js.map +1 -1
  30. package/lib/Socket/newsletter.d.ts +6 -0
  31. package/lib/Socket/newsletter.d.ts.map +1 -1
  32. package/lib/Socket/newsletter.js +2 -2
  33. package/lib/Socket/newsletter.js.map +1 -1
  34. package/lib/Socket/socket.d.ts.map +1 -1
  35. package/lib/Socket/socket.js +3 -3
  36. package/lib/Socket/socket.js.map +1 -1
  37. package/lib/Types/Auth.d.ts +1 -0
  38. package/lib/Types/Auth.d.ts.map +1 -1
  39. package/lib/Types/Call.d.ts +1 -1
  40. package/lib/Types/Call.d.ts.map +1 -1
  41. package/lib/Types/Contact.d.ts +2 -0
  42. package/lib/Types/Contact.d.ts.map +1 -1
  43. package/lib/Types/Events.d.ts +18 -1
  44. package/lib/Types/Events.d.ts.map +1 -1
  45. package/lib/Types/GroupMetadata.d.ts +4 -0
  46. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  47. package/lib/Types/Message.d.ts +360 -9
  48. package/lib/Types/Message.d.ts.map +1 -1
  49. package/lib/Types/Message.js.map +1 -1
  50. package/lib/Types/Newsletter.d.ts +37 -42
  51. package/lib/Types/Newsletter.d.ts.map +1 -1
  52. package/lib/Types/Newsletter.js +18 -23
  53. package/lib/Types/Newsletter.js.map +1 -1
  54. package/lib/Types/State.d.ts +54 -0
  55. package/lib/Types/State.d.ts.map +1 -1
  56. package/lib/Types/State.js +42 -0
  57. package/lib/Types/State.js.map +1 -1
  58. package/lib/Utils/chat-utils.d.ts +30 -0
  59. package/lib/Utils/chat-utils.d.ts.map +1 -1
  60. package/lib/Utils/chat-utils.js +34 -8
  61. package/lib/Utils/chat-utils.js.map +1 -1
  62. package/lib/Utils/decode-wa-message.d.ts +12 -0
  63. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  64. package/lib/Utils/decode-wa-message.js +16 -0
  65. package/lib/Utils/decode-wa-message.js.map +1 -1
  66. package/lib/Utils/event-buffer.js +2 -0
  67. package/lib/Utils/event-buffer.js.map +1 -1
  68. package/lib/Utils/generics.d.ts.map +1 -1
  69. package/lib/Utils/generics.js +9 -0
  70. package/lib/Utils/generics.js.map +1 -1
  71. package/lib/Utils/history.d.ts.map +1 -1
  72. package/lib/Utils/history.js +12 -10
  73. package/lib/Utils/history.js.map +1 -1
  74. package/lib/Utils/identity-change-handler.d.ts +7 -0
  75. package/lib/Utils/identity-change-handler.d.ts.map +1 -1
  76. package/lib/Utils/identity-change-handler.js +1 -0
  77. package/lib/Utils/identity-change-handler.js.map +1 -1
  78. package/lib/Utils/index.d.ts +3 -0
  79. package/lib/Utils/index.d.ts.map +1 -1
  80. package/lib/Utils/index.js +3 -0
  81. package/lib/Utils/index.js.map +1 -1
  82. package/lib/Utils/interactive-message.js.map +1 -1
  83. package/lib/Utils/message-composer.d.ts +5 -0
  84. package/lib/Utils/message-composer.d.ts.map +1 -0
  85. package/lib/Utils/message-composer.js +5 -0
  86. package/lib/Utils/message-composer.js.map +1 -0
  87. package/lib/Utils/message-retry-manager.js.map +1 -1
  88. package/lib/Utils/messages-media.d.ts +1 -1
  89. package/lib/Utils/messages-media.d.ts.map +1 -1
  90. package/lib/Utils/messages-media.js +2 -2
  91. package/lib/Utils/messages-media.js.map +1 -1
  92. package/lib/Utils/messages.d.ts.map +1 -1
  93. package/lib/Utils/messages.js +14 -5
  94. package/lib/Utils/messages.js.map +1 -1
  95. package/lib/Utils/noise-handler.js.map +1 -1
  96. package/lib/Utils/process-message.d.ts.map +1 -1
  97. package/lib/Utils/process-message.js +58 -2
  98. package/lib/Utils/process-message.js.map +1 -1
  99. package/lib/Utils/sync-action-utils.d.ts.map +1 -1
  100. package/lib/Utils/sync-action-utils.js +1 -0
  101. package/lib/Utils/sync-action-utils.js.map +1 -1
  102. package/lib/Utils/tc-token-utils.d.ts +26 -1
  103. package/lib/Utils/tc-token-utils.d.ts.map +1 -1
  104. package/lib/Utils/tc-token-utils.js +149 -4
  105. package/lib/Utils/tc-token-utils.js.map +1 -1
  106. package/lib/WABinary/jid-utils.js.map +1 -1
  107. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -1
  108. package/lib/WAUSync/Protocols/USyncContactProtocol.js +26 -3
  109. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -1
  110. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  111. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  112. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  113. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  114. package/lib/WAUSync/Protocols/index.d.ts +1 -0
  115. package/lib/WAUSync/Protocols/index.d.ts.map +1 -1
  116. package/lib/WAUSync/Protocols/index.js +1 -0
  117. package/lib/WAUSync/Protocols/index.js.map +1 -1
  118. package/lib/WAUSync/USyncQuery.d.ts +1 -0
  119. package/lib/WAUSync/USyncQuery.d.ts.map +1 -1
  120. package/lib/WAUSync/USyncQuery.js +5 -1
  121. package/lib/WAUSync/USyncQuery.js.map +1 -1
  122. package/lib/WAUSync/USyncUser.d.ts +4 -0
  123. package/lib/WAUSync/USyncUser.d.ts.map +1 -1
  124. package/lib/WAUSync/USyncUser.js +8 -0
  125. package/lib/WAUSync/USyncUser.js.map +1 -1
  126. package/lib/addons/auto-reply.js.map +1 -1
  127. package/lib/addons/browser-presets.d.ts +16 -0
  128. package/lib/addons/browser-presets.d.ts.map +1 -0
  129. package/lib/addons/browser-presets.js +24 -0
  130. package/lib/addons/browser-presets.js.map +1 -0
  131. package/lib/addons/button-sender.d.ts +0 -2
  132. package/lib/addons/button-sender.d.ts.map +1 -1
  133. package/lib/addons/button-sender.js +21 -23
  134. package/lib/addons/button-sender.js.map +1 -1
  135. package/lib/addons/call-handler.d.ts.map +1 -1
  136. package/lib/addons/call-handler.js.map +1 -1
  137. package/lib/addons/from-messages-recv.d.ts.map +1 -1
  138. package/lib/addons/from-messages-recv.js.map +1 -1
  139. package/lib/addons/from-messages.js.map +1 -1
  140. package/lib/addons/index.d.ts +22 -5
  141. package/lib/addons/index.d.ts.map +1 -1
  142. package/lib/addons/index.js +29 -17
  143. package/lib/addons/index.js.map +1 -1
  144. package/lib/addons/interactive-message.js.map +1 -1
  145. package/lib/addons/jid-plot.d.ts +49 -0
  146. package/lib/addons/jid-plot.d.ts.map +1 -0
  147. package/lib/addons/jid-plot.js +84 -0
  148. package/lib/addons/jid-plot.js.map +1 -0
  149. package/lib/addons/lid-support.d.ts +41 -0
  150. package/lib/addons/lid-support.d.ts.map +1 -0
  151. package/lib/addons/lid-support.js +42 -0
  152. package/lib/addons/lid-support.js.map +1 -0
  153. package/lib/addons/message-composer.d.ts +142 -0
  154. package/lib/addons/message-composer.d.ts.map +1 -0
  155. package/lib/addons/message-composer.js +377 -0
  156. package/lib/addons/message-composer.js.map +1 -0
  157. package/lib/addons/message-scheduler.d.ts +77 -0
  158. package/lib/addons/message-scheduler.d.ts.map +1 -0
  159. package/lib/addons/message-scheduler.js +108 -0
  160. package/lib/addons/message-scheduler.js.map +1 -0
  161. package/lib/addons/message-utils.d.ts.map +1 -1
  162. package/lib/addons/message-utils.js.map +1 -1
  163. package/lib/addons/outgoing-calls.d.ts +64 -0
  164. package/lib/addons/outgoing-calls.d.ts.map +1 -0
  165. package/lib/addons/outgoing-calls.js +139 -0
  166. package/lib/addons/outgoing-calls.js.map +1 -0
  167. package/lib/addons/pairing-fix.d.ts +31 -0
  168. package/lib/addons/pairing-fix.d.ts.map +1 -0
  169. package/lib/addons/pairing-fix.js +74 -0
  170. package/lib/addons/pairing-fix.js.map +1 -0
  171. package/lib/addons/past-participants.d.ts +42 -0
  172. package/lib/addons/past-participants.d.ts.map +1 -0
  173. package/lib/addons/past-participants.js +41 -0
  174. package/lib/addons/past-participants.js.map +1 -0
  175. package/lib/addons/rich-response.d.ts +111 -0
  176. package/lib/addons/rich-response.d.ts.map +1 -0
  177. package/lib/addons/rich-response.js +152 -0
  178. package/lib/addons/rich-response.js.map +1 -0
  179. package/lib/addons/status-posting.d.ts.map +1 -1
  180. package/lib/addons/status-posting.js +1 -3
  181. package/lib/addons/status-posting.js.map +1 -1
  182. package/lib/addons/stickerpack.d.ts +37 -0
  183. package/lib/addons/stickerpack.d.ts.map +1 -0
  184. package/lib/addons/stickerpack.js +39 -0
  185. package/lib/addons/stickerpack.js.map +1 -0
  186. package/package.json +3 -3
@@ -2,22 +2,31 @@ import NodeCache from '@cacheable/node-cache';
2
2
  import { Boom } from '@hapi/boom';
3
3
  import Long from 'long';
4
4
  import { proto } from '../../WAProto/index.js';
5
- import { DEFAULT_CACHE_TTLS, PROCESSABLE_HISTORY_TYPES } from '../Defaults/index.js';
5
+ import { DEFAULT_CACHE_TTLS, HISTORY_SYNC_PAUSED_TIMEOUT_MS, PROCESSABLE_HISTORY_TYPES } from '../Defaults/index.js';
6
6
  import { ALL_WA_PATCH_NAMES } from '../Types/index.js';
7
7
  import { SyncState } from '../Types/State.js';
8
- import { chatModificationToAppPatch, decodePatches, decodeSyncdSnapshot, encodeSyncdPatch, extractSyncdPatches, generateProfilePicture, getHistoryMsg, newLTHashState, processSyncAction } from '../Utils/index.js';
8
+ import { chatModificationToAppPatch, decodePatches, decodeSyncdSnapshot, encodeSyncdPatch, ensureLTHashStateVersion, extractSyncdPatches, generateProfilePicture, getHistoryMsg, isAppStateSyncIrrecoverable, isMissingKeyError, MAX_SYNC_ATTEMPTS, newLTHashState, processSyncAction } from '../Utils/index.js';
9
9
  import { makeMutex } from '../Utils/make-mutex.js';
10
10
  import processMessage from '../Utils/process-message.js';
11
11
  import { buildTcTokenFromJid } from '../Utils/tc-token-utils.js';
12
- import { getBinaryNodeChild, getBinaryNodeChildren, jidDecode, jidNormalizedUser, reduceBinaryNodeToDictionary, S_WHATSAPP_NET } from '../WABinary/index.js';
12
+ import { getBinaryNodeChild, getBinaryNodeChildren, isHostedLidUser, isHostedPnUser, isLidUser, isPnUser, jidDecode, jidNormalizedUser, reduceBinaryNodeToDictionary, S_WHATSAPP_NET } from '../WABinary/index.js';
13
13
  import { USyncQuery, USyncUser } from '../WAUSync/index.js';
14
14
  import { makeSocket } from './socket.js';
15
- const MAX_SYNC_ATTEMPTS = 2;
16
15
  export const makeChatsSocket = (config) => {
17
16
  const { logger, markOnlineOnConnect, fireInitQueries, appStateMacVerification, shouldIgnoreJid, shouldSyncHistoryMessage, getMessage } = config;
18
17
  const sock = makeSocket(config);
19
18
  const { ev, ws, authState, generateMessageTag, sendNode, query, signalRepository, onUnexpectedError, sendUnifiedSession } = sock;
19
+ const getLIDForPN = signalRepository.lidMapping.getLIDForPN.bind(signalRepository.lidMapping);
20
20
  let privacySettings;
21
+ /** Server-assigned AB props for protocol behavior. */
22
+ const serverProps = {
23
+ /** AB prop 10518: gate tctoken on 1:1 messages. Default true (safe: avoids 463). */
24
+ privacyTokenOn1to1: true,
25
+ /** AB prop 9666: gate tctoken on profile picture IQs. WA Web default: true. */
26
+ profilePicPrivacyToken: true,
27
+ /** AB prop 14303: issue tctokens to LID instead of PN. WA Web default: false. */
28
+ lidTrustedTokenIssueToLid: false
29
+ };
21
30
  let syncState = SyncState.Connecting;
22
31
  /** this mutex ensures that messages are processed in order */
23
32
  const messageMutex = makeMutex();
@@ -29,6 +38,15 @@ export const makeChatsSocket = (config) => {
29
38
  const notificationMutex = makeMutex();
30
39
  // Timeout for AwaitingInitialSync state
31
40
  let awaitingSyncTimeout;
41
+ // In-memory history sync completion tracking (resets on reconnection)
42
+ const historySyncStatus = {
43
+ initialBootstrapComplete: false,
44
+ recentSyncComplete: false
45
+ };
46
+ let historySyncPausedTimeout;
47
+ // Collections blocked on missing app state sync keys (mirrors WA Web's "Blocked" state).
48
+ // When a key arrives via APP_STATE_SYNC_KEY_SHARE, these are re-synced.
49
+ const blockedCollections = new Set();
32
50
  const placeholderResendCache = config.placeholderResendCache ||
33
51
  new NodeCache({
34
52
  stdTTL: DEFAULT_CACHE_TTLS.MSG_RETRY, // 1 hour
@@ -259,43 +277,41 @@ export const makeChatsSocket = (config) => {
259
277
  return getBinaryNodeChildren(listNode, 'item').map(n => n.attrs.jid);
260
278
  };
261
279
  const updateBlockStatus = async (jid, action) => {
262
- jid = jidNormalizedUser(jid);
263
- let lidJid = null;
264
- let pnJid = null;
265
- // If PN try resolve LID
266
- if (jid.endsWith('@whatsapp.net')) {
267
- pnJid = jid;
268
- try {
269
- const lid = await signalRepository?.lidMapping?.getLIDForPN?.(jid).catch(() => null);
270
- if (lid)
271
- lidJid = jidNormalizedUser(lid);
280
+ const normalizedJid = jidNormalizedUser(jid);
281
+ let lid;
282
+ let pn_jid;
283
+ if (isLidUser(normalizedJid) || isHostedLidUser(normalizedJid)) {
284
+ lid = normalizedJid;
285
+ if (action === 'block') {
286
+ const pn = await signalRepository.lidMapping.getPNForLID(normalizedJid);
287
+ if (!pn) {
288
+ throw new Boom(`Unable to resolve PN JID for LID: ${jid}`, { statusCode: 400 });
289
+ }
290
+ pn_jid = jidNormalizedUser(pn);
272
291
  }
273
- catch { }
274
292
  }
275
- // If LID resolve PN
276
- if (jid.endsWith('@lid')) {
277
- lidJid = jid;
278
- try {
279
- const pn = await signalRepository?.lidMapping?.getPNForLID?.(jid).catch(() => null);
280
- if (pn)
281
- pnJid = jidNormalizedUser(pn);
293
+ else if (isPnUser(normalizedJid) || isHostedPnUser(normalizedJid)) {
294
+ const mapped = await signalRepository.lidMapping.getLIDForPN(normalizedJid);
295
+ if (!mapped) {
296
+ throw new Boom(`Unable to resolve LID for PN JID: ${jid}`, { statusCode: 400 });
297
+ }
298
+ lid = mapped;
299
+ if (action === 'block') {
300
+ pn_jid = jidNormalizedUser(normalizedJid);
282
301
  }
283
- catch { }
284
302
  }
285
- // jid MUST be LID
286
- if (!lidJid)
287
- throw new Error('Failed to resolve LID');
288
- const dhash = String(Date.now());
303
+ else {
304
+ throw new Boom(`Invalid jid: ${jid}`, { statusCode: 400 });
305
+ }
289
306
  const itemAttrs = {
290
- dhash,
291
307
  action,
292
- jid: lidJid // only LID
308
+ jid: lid
293
309
  };
294
- // pn_jid MUST be PN (only for block)
295
310
  if (action === 'block') {
296
- if (!pnJid)
297
- throw new Error('Failed to resolve PN');
298
- itemAttrs.pn_jid = pnJid;
311
+ if (!pn_jid) {
312
+ throw new Boom(`pn_jid required for block: ${jid}`, { statusCode: 400 });
313
+ }
314
+ itemAttrs.pn_jid = pn_jid;
299
315
  }
300
316
  await query({
301
317
  tag: 'iq',
@@ -406,6 +422,9 @@ export const makeChatsSocket = (config) => {
406
422
  const collectionsToHandle = new Set(collections);
407
423
  // in case something goes wrong -- ensure we don't enter a loop that cannot be exited from
408
424
  const attemptsMap = {};
425
+ // collections that failed and need a full snapshot on retry
426
+ // mirrors WA Web's ErrorFatal -> force snapshot behavior
427
+ const forceSnapshotCollections = new Set();
409
428
  // keep executing till all collections are done
410
429
  // sometimes a single patch request will not return all the patches (God knows why)
411
430
  // so we fetch till they're all done (this is determined by the "has_more_patches" flag)
@@ -416,6 +435,7 @@ export const makeChatsSocket = (config) => {
416
435
  const result = await authState.keys.get('app-state-sync-version', [name]);
417
436
  let state = result[name];
418
437
  if (state) {
438
+ state = ensureLTHashStateVersion(state);
419
439
  if (typeof initialVersionMap[name] === 'undefined') {
420
440
  initialVersionMap[name] = state.version;
421
441
  }
@@ -424,14 +444,18 @@ export const makeChatsSocket = (config) => {
424
444
  state = newLTHashState();
425
445
  }
426
446
  states[name] = state;
427
- logger.info(`resyncing ${name} from v${state.version}`);
447
+ const shouldForceSnapshot = forceSnapshotCollections.has(name);
448
+ if (shouldForceSnapshot) {
449
+ forceSnapshotCollections.delete(name);
450
+ }
451
+ logger.info(`resyncing ${name} from v${state.version}${shouldForceSnapshot ? ' (forcing snapshot)' : ''}`);
428
452
  nodes.push({
429
453
  tag: 'collection',
430
454
  attrs: {
431
455
  name,
432
456
  version: state.version.toString(),
433
- // return snapshot if being synced from scratch
434
- return_snapshot: (!state.version).toString()
457
+ // return snapshot if syncing from scratch or forcing after a failed attempt
458
+ return_snapshot: (shouldForceSnapshot || !state.version).toString()
435
459
  }
436
460
  });
437
461
  }
@@ -480,19 +504,37 @@ export const makeChatsSocket = (config) => {
480
504
  }
481
505
  }
482
506
  catch (error) {
483
- // if retry attempts overshoot
484
- // or key not found
485
- const isIrrecoverableError = attemptsMap[name] >= MAX_SYNC_ATTEMPTS ||
486
- error.output?.statusCode === 404 ||
487
- error.name === 'TypeError';
488
- logger.info({ name, error: error.stack }, `failed to sync state from version${isIrrecoverableError ? '' : ', removing and trying from scratch'}`);
489
- await authState.keys.set({ 'app-state-sync-version': { [name]: null } });
490
- // increment number of retries
491
507
  attemptsMap[name] = (attemptsMap[name] || 0) + 1;
492
- if (isIrrecoverableError) {
493
- // stop retrying
508
+ const logData = {
509
+ name,
510
+ attempt: attemptsMap[name],
511
+ version: states[name].version,
512
+ statusCode: error.output?.statusCode,
513
+ errorType: error.name,
514
+ error: error.stack
515
+ };
516
+ if (isMissingKeyError(error) && attemptsMap[name] >= MAX_SYNC_ATTEMPTS) {
517
+ // WA Web treats missing keys as "Blocked" — park the collection
518
+ // until the key arrives via APP_STATE_SYNC_KEY_SHARE.
519
+ logger.warn(logData, `${name} blocked on missing key from v${states[name].version}, parking after ${attemptsMap[name]} attempts`);
520
+ blockedCollections.add(name);
494
521
  collectionsToHandle.delete(name);
495
522
  }
523
+ else if (isMissingKeyError(error)) {
524
+ // Retry with a snapshot which may use a different key.
525
+ logger.info(logData, `${name} blocked on missing key from v${states[name].version}, retrying with snapshot`);
526
+ forceSnapshotCollections.add(name);
527
+ }
528
+ else if (isAppStateSyncIrrecoverable(error, attemptsMap[name])) {
529
+ logger.warn(logData, `failed to sync ${name} from v${states[name].version}, giving up`);
530
+ collectionsToHandle.delete(name);
531
+ }
532
+ else {
533
+ logger.info(logData, `failed to sync ${name} from v${states[name].version}, forcing snapshot retry`);
534
+ // force a full snapshot on retry to recover from
535
+ // corrupted local state (e.g. LTHash MAC mismatch)
536
+ forceSnapshotCollections.add(name);
537
+ }
496
538
  }
497
539
  }
498
540
  }
@@ -509,7 +551,22 @@ export const makeChatsSocket = (config) => {
509
551
  */
510
552
  const profilePictureUrl = async (jid, type = 'preview', timeoutMs) => {
511
553
  const baseContent = [{ tag: 'picture', attrs: { type, query: 'url' } }];
512
- const tcTokenContent = await buildTcTokenFromJid({ authState, jid, baseContent });
554
+ // WA Web only includes tctoken for user JIDs (not groups/newsletters)
555
+ // and never for own profile pic (Chat model for self has no tcToken).
556
+ // Including tctoken for own JID causes the server to never respond.
557
+ const normalizedJid = jidNormalizedUser(jid);
558
+ const isUserJid = isPnUser(normalizedJid) || isLidUser(normalizedJid);
559
+ const me = authState.creds.me;
560
+ const isSelf = me && (normalizedJid === jidNormalizedUser(me.id) || (me.lid && normalizedJid === jidNormalizedUser(me.lid)));
561
+ let content = baseContent;
562
+ if (serverProps.profilePicPrivacyToken && isUserJid && !isSelf) {
563
+ content = await buildTcTokenFromJid({
564
+ authState,
565
+ jid: normalizedJid,
566
+ baseContent,
567
+ getLIDForPN
568
+ });
569
+ }
513
570
  jid = jidNormalizedUser(jid);
514
571
  const result = await query({
515
572
  tag: 'iq',
@@ -519,7 +576,7 @@ export const makeChatsSocket = (config) => {
519
576
  type: 'get',
520
577
  xmlns: 'w:profile:picture'
521
578
  },
522
- content: tcTokenContent
579
+ content
523
580
  }, timeoutMs);
524
581
  const child = getBinaryNodeChild(result, 'picture');
525
582
  return child?.attrs?.url;
@@ -585,7 +642,12 @@ export const makeChatsSocket = (config) => {
585
642
  * @param tcToken token for subscription, use if present
586
643
  */
587
644
  const presenceSubscribe = async (toJid) => {
588
- const tcTokenContent = await buildTcTokenFromJid({ authState, jid: toJid });
645
+ // Only include tctoken for user JIDs groups/newsletters don't use tctokens
646
+ const normalizedToJid = jidNormalizedUser(toJid);
647
+ const isUserJid = isPnUser(normalizedToJid) || isLidUser(normalizedToJid);
648
+ const tcTokenContent = isUserJid
649
+ ? await buildTcTokenFromJid({ authState, jid: normalizedToJid, getLIDForPN })
650
+ : undefined;
589
651
  return sendNode({
590
652
  tag: 'presence',
591
653
  attrs: {
@@ -640,7 +702,7 @@ export const makeChatsSocket = (config) => {
640
702
  logger.debug({ patch: patchCreate }, 'applying app patch');
641
703
  await resyncAppState([name], false);
642
704
  const { [name]: currentSyncVersion } = await authState.keys.get('app-state-sync-version', [name]);
643
- initial = currentSyncVersion || newLTHashState();
705
+ initial = currentSyncVersion ? ensureLTHashStateVersion(currentSyncVersion) : newLTHashState();
644
706
  encodeResult = await encodeSyncdPatch(patchCreate, myAppStateKeyId, initial, getAppStateSyncKey);
645
707
  const { patch, state } = encodeResult;
646
708
  const node = {
@@ -686,22 +748,21 @@ export const makeChatsSocket = (config) => {
686
748
  }
687
749
  }
688
750
  };
689
- /** sending non-abt props may fix QR scan fail if server expects */
751
+ /** fetch AB props */
690
752
  const fetchProps = async () => {
691
- //TODO: implement both protocol 1 and protocol 2 prop fetching, specially for abKey for WM
692
753
  const resultNode = await query({
693
754
  tag: 'iq',
694
755
  attrs: {
695
756
  to: S_WHATSAPP_NET,
696
- xmlns: 'w',
757
+ xmlns: 'abt',
697
758
  type: 'get'
698
759
  },
699
760
  content: [
700
761
  {
701
762
  tag: 'props',
702
763
  attrs: {
703
- protocol: '2',
704
- hash: authState?.creds?.lastPropHash || ''
764
+ protocol: '1',
765
+ ...(authState?.creds?.lastPropHash ? { hash: authState.creds.lastPropHash } : {})
705
766
  }
706
767
  }
707
768
  ]
@@ -716,7 +777,20 @@ export const makeChatsSocket = (config) => {
716
777
  }
717
778
  props = reduceBinaryNodeToDictionary(propsNode, 'prop');
718
779
  }
719
- logger.debug('fetched props');
780
+ // Extract protocol-relevant AB props (only the ones we need)
781
+ const privacyTokenProp = props['10518'] ?? props['privacy_token_sending_on_all_1_on_1_messages'];
782
+ if (privacyTokenProp !== undefined) {
783
+ serverProps.privacyTokenOn1to1 = privacyTokenProp === 'true' || privacyTokenProp === '1';
784
+ }
785
+ const profilePicProp = props['9666'] ?? props['profile_scraping_privacy_token_in_photo_iq'];
786
+ if (profilePicProp !== undefined) {
787
+ serverProps.profilePicPrivacyToken = profilePicProp === 'true' || profilePicProp === '1';
788
+ }
789
+ const lidIssueProp = props['14303'] ?? props['lid_trusted_token_issue_to_lid'];
790
+ if (lidIssueProp !== undefined) {
791
+ serverProps.lidTrustedTokenIssueToLid = lidIssueProp === 'true' || lidIssueProp === '1';
792
+ }
793
+ logger.debug({ serverProps }, 'fetched props');
720
794
  return props;
721
795
  };
722
796
  /**
@@ -862,6 +936,47 @@ export const makeChatsSocket = (config) => {
862
936
  ? shouldSyncHistoryMessage(historyMsg) &&
863
937
  PROCESSABLE_HISTORY_TYPES.includes(historyMsg.syncType)
864
938
  : false;
939
+ if (historyMsg && shouldProcessHistoryMsg) {
940
+ const syncType = historyMsg.syncType;
941
+ // INITIAL_BOOTSTRAP — fire immediately, no progress check (same as WA Web K function)
942
+ if (syncType === proto.HistorySync.HistorySyncType.INITIAL_BOOTSTRAP &&
943
+ !historySyncStatus.initialBootstrapComplete) {
944
+ historySyncStatus.initialBootstrapComplete = true;
945
+ ev.emit('messaging-history.status', {
946
+ syncType,
947
+ status: 'complete',
948
+ explicit: true
949
+ });
950
+ }
951
+ // RECENT with progress === 100 — explicit completion
952
+ if (syncType === proto.HistorySync.HistorySyncType.RECENT &&
953
+ historyMsg.progress === 100 &&
954
+ !historySyncStatus.recentSyncComplete) {
955
+ historySyncStatus.recentSyncComplete = true;
956
+ clearTimeout(historySyncPausedTimeout);
957
+ historySyncPausedTimeout = undefined;
958
+ ev.emit('messaging-history.status', {
959
+ syncType,
960
+ status: 'complete',
961
+ explicit: true
962
+ });
963
+ }
964
+ // Reset 120s paused timeout on any RECENT chunk (like WA Web's handleChunkProgress)
965
+ if (syncType === proto.HistorySync.HistorySyncType.RECENT && !historySyncStatus.recentSyncComplete) {
966
+ clearTimeout(historySyncPausedTimeout);
967
+ historySyncPausedTimeout = setTimeout(() => {
968
+ if (!historySyncStatus.recentSyncComplete) {
969
+ historySyncStatus.recentSyncComplete = true;
970
+ ev.emit('messaging-history.status', {
971
+ syncType: proto.HistorySync.HistorySyncType.RECENT,
972
+ status: 'paused',
973
+ explicit: false
974
+ });
975
+ }
976
+ historySyncPausedTimeout = undefined;
977
+ }, HISTORY_SYNC_PAUSED_TIMEOUT_MS);
978
+ }
979
+ }
865
980
  // State machine: decide on sync and flush
866
981
  if (historyMsg && syncState === SyncState.AwaitingInitialSync) {
867
982
  if (awaitingSyncTimeout) {
@@ -881,6 +996,8 @@ export const makeChatsSocket = (config) => {
881
996
  }
882
997
  const doAppStateSync = async () => {
883
998
  if (syncState === SyncState.Syncing) {
999
+ // All collections will be synced, so clear any blocked ones
1000
+ blockedCollections.clear();
884
1001
  logger.info('Doing app state sync');
885
1002
  await resyncAppState(ALL_WA_PATCH_NAMES, true);
886
1003
  // Sync is complete, go online and flush everything
@@ -940,6 +1057,11 @@ export const makeChatsSocket = (config) => {
940
1057
  }
941
1058
  });
942
1059
  ev.on('connection.update', ({ connection, receivedPendingNotifications }) => {
1060
+ if (connection === 'close') {
1061
+ blockedCollections.clear();
1062
+ clearTimeout(historySyncPausedTimeout);
1063
+ historySyncPausedTimeout = undefined;
1064
+ }
943
1065
  if (connection === 'open') {
944
1066
  if (fireInitQueries) {
945
1067
  executeInitQueries().catch(error => onUnexpectedError(error, 'init queries'));
@@ -949,6 +1071,10 @@ export const makeChatsSocket = (config) => {
949
1071
  if (!receivedPendingNotifications || syncState !== SyncState.Connecting) {
950
1072
  return;
951
1073
  }
1074
+ historySyncStatus.initialBootstrapComplete = false;
1075
+ historySyncStatus.recentSyncComplete = false;
1076
+ clearTimeout(historySyncPausedTimeout);
1077
+ historySyncPausedTimeout = undefined;
952
1078
  syncState = SyncState.AwaitingInitialSync;
953
1079
  logger.info('Connection is now AwaitingInitialSync, buffering events');
954
1080
  ev.buffer();
@@ -961,19 +1087,49 @@ export const makeChatsSocket = (config) => {
961
1087
  setTimeout(() => ev.flush(), 0);
962
1088
  return;
963
1089
  }
964
- logger.info('History sync is enabled, awaiting notification with a 20s timeout.');
1090
+ // On reconnection (accountSyncCounter > 0), the server does not push
1091
+ // history sync notifications — the device already has its data.
1092
+ // Skip the 20s wait and go online immediately.
1093
+ if (authState.creds.accountSyncCounter > 0) {
1094
+ logger.info('Reconnection with existing sync data, skipping history sync wait. Transitioning to Online.');
1095
+ syncState = SyncState.Online;
1096
+ setTimeout(() => ev.flush(), 0);
1097
+ return;
1098
+ }
1099
+ logger.info('First connection, awaiting history sync notification with a 20s timeout.');
965
1100
  if (awaitingSyncTimeout) {
966
1101
  clearTimeout(awaitingSyncTimeout);
967
1102
  }
968
1103
  awaitingSyncTimeout = setTimeout(() => {
969
1104
  if (syncState === SyncState.AwaitingInitialSync) {
970
- // TODO: investigate
971
1105
  logger.warn('Timeout in AwaitingInitialSync, forcing state to Online and flushing buffer');
972
1106
  syncState = SyncState.Online;
973
1107
  ev.flush();
1108
+ // Increment so subsequent reconnections skip the 20s wait.
1109
+ // Late-arriving history is still processed via processMessage
1110
+ // regardless of the state machine phase.
1111
+ const accountSyncCounter = (authState.creds.accountSyncCounter || 0) + 1;
1112
+ ev.emit('creds.update', { accountSyncCounter });
974
1113
  }
975
1114
  }, 20000);
976
1115
  });
1116
+ // When an app state sync key arrives (myAppStateKeyId is set) and there are
1117
+ // collections blocked on a missing key, trigger a re-sync for just those collections.
1118
+ // This mirrors WA Web's Blocked → retry-on-key-arrival behavior.
1119
+ ev.on('creds.update', ({ myAppStateKeyId }) => {
1120
+ if (!myAppStateKeyId || blockedCollections.size === 0) {
1121
+ return;
1122
+ }
1123
+ // If we're in the middle of a full sync, doAppStateSync handles all collections
1124
+ if (syncState === SyncState.Syncing) {
1125
+ blockedCollections.clear();
1126
+ return;
1127
+ }
1128
+ const collections = [...blockedCollections];
1129
+ blockedCollections.clear();
1130
+ logger.info({ collections }, 'app state sync key arrived, re-syncing blocked collections');
1131
+ resyncAppState(collections, false).catch(error => onUnexpectedError(error, 'blocked collections resync'));
1132
+ });
977
1133
  ev.on('lid-mapping.update', async ({ lid, pn }) => {
978
1134
  try {
979
1135
  await signalRepository.lidMapping.storeLIDPNMappings([{ lid, pn }]);
@@ -984,6 +1140,7 @@ export const makeChatsSocket = (config) => {
984
1140
  });
985
1141
  return {
986
1142
  ...sock,
1143
+ serverProps,
987
1144
  createCallLink,
988
1145
  getBotListV2,
989
1146
  messageMutex,
@@ -1018,6 +1175,7 @@ export const makeChatsSocket = (config) => {
1018
1175
  resyncAppState,
1019
1176
  chatModify,
1020
1177
  clearMessage,
1178
+ deleteChat: clearMessage,
1021
1179
  cleanDirtyBits,
1022
1180
  addOrEditContact,
1023
1181
  removeContact,
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/Socket/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/Socket/chats.ts"],"names":[],"mappings":"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"}