@queenanya/baileys 9.2.4 → 9.4.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.
Files changed (299) hide show
  1. package/README.md +329 -1237
  2. package/WAProto/fix-imports.js +22 -18
  3. package/WAProto/index.js +22 -18
  4. package/lib/Defaults/index.d.ts +17 -0
  5. package/lib/Defaults/index.d.ts.map +1 -1
  6. package/lib/Defaults/index.js +29 -3
  7. package/lib/Defaults/index.js.map +1 -1
  8. package/lib/Signal/libsignal.d.ts.map +1 -1
  9. package/lib/Signal/libsignal.js +61 -2
  10. package/lib/Signal/libsignal.js.map +1 -1
  11. package/lib/Signal/lid-mapping.d.ts +5 -9
  12. package/lib/Signal/lid-mapping.d.ts.map +1 -1
  13. package/lib/Signal/lid-mapping.js +170 -70
  14. package/lib/Signal/lid-mapping.js.map +1 -1
  15. package/lib/Socket/business.d.ts +112 -2
  16. package/lib/Socket/business.d.ts.map +1 -1
  17. package/lib/Socket/chats.d.ts +10 -0
  18. package/lib/Socket/chats.d.ts.map +1 -1
  19. package/lib/Socket/chats.js +243 -38
  20. package/lib/Socket/chats.js.map +1 -1
  21. package/lib/Socket/communities.d.ts +112 -2
  22. package/lib/Socket/communities.d.ts.map +1 -1
  23. package/lib/Socket/groups.d.ts +7 -0
  24. package/lib/Socket/groups.d.ts.map +1 -1
  25. package/lib/Socket/groups.js +6 -0
  26. package/lib/Socket/groups.js.map +1 -1
  27. package/lib/Socket/index.d.ts +112 -2
  28. package/lib/Socket/index.d.ts.map +1 -1
  29. package/lib/Socket/index.js +0 -6
  30. package/lib/Socket/index.js.map +1 -1
  31. package/lib/Socket/messages-recv.d.ts +113 -3
  32. package/lib/Socket/messages-recv.d.ts.map +1 -1
  33. package/lib/Socket/messages-recv.js +739 -150
  34. package/lib/Socket/messages-recv.js.map +1 -1
  35. package/lib/Socket/messages-send.d.ts +116 -4
  36. package/lib/Socket/messages-send.d.ts.map +1 -1
  37. package/lib/Socket/messages-send.js +328 -86
  38. package/lib/Socket/messages-send.js.map +1 -1
  39. package/lib/Socket/newsletter.d.ts +7 -0
  40. package/lib/Socket/newsletter.d.ts.map +1 -1
  41. package/lib/Socket/socket.d.ts +2 -0
  42. package/lib/Socket/socket.d.ts.map +1 -1
  43. package/lib/Socket/socket.js +142 -16
  44. package/lib/Socket/socket.js.map +1 -1
  45. package/lib/Types/Auth.d.ts +2 -0
  46. package/lib/Types/Auth.d.ts.map +1 -1
  47. package/lib/Types/Call.d.ts +10 -1
  48. package/lib/Types/Call.d.ts.map +1 -1
  49. package/lib/Types/Contact.d.ts +2 -0
  50. package/lib/Types/Contact.d.ts.map +1 -1
  51. package/lib/Types/Events.d.ts +21 -1
  52. package/lib/Types/Events.d.ts.map +1 -1
  53. package/lib/Types/GroupMetadata.d.ts +4 -0
  54. package/lib/Types/GroupMetadata.d.ts.map +1 -1
  55. package/lib/Types/Message.d.ts +530 -16
  56. package/lib/Types/Message.d.ts.map +1 -1
  57. package/lib/Types/Message.js.map +1 -1
  58. package/lib/Types/Newsletter.d.ts +33 -29
  59. package/lib/Types/Newsletter.d.ts.map +1 -1
  60. package/lib/Types/Newsletter.js +25 -23
  61. package/lib/Types/Newsletter.js.map +1 -1
  62. package/lib/Types/State.d.ts +54 -0
  63. package/lib/Types/State.d.ts.map +1 -1
  64. package/lib/Types/State.js +42 -0
  65. package/lib/Types/State.js.map +1 -1
  66. package/lib/Types/index.d.ts +9 -0
  67. package/lib/Types/index.d.ts.map +1 -1
  68. package/lib/Types/index.js.map +1 -1
  69. package/lib/Utils/browser-utils.d.ts +13 -0
  70. package/lib/Utils/browser-utils.d.ts.map +1 -1
  71. package/lib/Utils/browser-utils.js +90 -10
  72. package/lib/Utils/browser-utils.js.map +1 -1
  73. package/lib/Utils/chat-utils.d.ts +30 -0
  74. package/lib/Utils/chat-utils.d.ts.map +1 -1
  75. package/lib/Utils/chat-utils.js +81 -52
  76. package/lib/Utils/chat-utils.js.map +1 -1
  77. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  78. package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
  79. package/lib/Utils/companion-reg-client-utils.js +34 -0
  80. package/lib/Utils/companion-reg-client-utils.js.map +1 -0
  81. package/lib/Utils/crypto.d.ts +4 -8
  82. package/lib/Utils/crypto.d.ts.map +1 -1
  83. package/lib/Utils/crypto.js +2 -26
  84. package/lib/Utils/crypto.js.map +1 -1
  85. package/lib/Utils/decode-wa-message.d.ts +12 -0
  86. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  87. package/lib/Utils/decode-wa-message.js +16 -0
  88. package/lib/Utils/decode-wa-message.js.map +1 -1
  89. package/lib/Utils/event-buffer.js +10 -1
  90. package/lib/Utils/event-buffer.js.map +1 -1
  91. package/lib/Utils/generics.d.ts +3 -1
  92. package/lib/Utils/generics.d.ts.map +1 -1
  93. package/lib/Utils/generics.js +16 -3
  94. package/lib/Utils/generics.js.map +1 -1
  95. package/lib/Utils/history.d.ts +5 -2
  96. package/lib/Utils/history.d.ts.map +1 -1
  97. package/lib/Utils/history.js +53 -17
  98. package/lib/Utils/history.js.map +1 -1
  99. package/lib/Utils/identity-change-handler.d.ts +44 -0
  100. package/lib/Utils/identity-change-handler.d.ts.map +1 -0
  101. package/lib/Utils/identity-change-handler.js +50 -0
  102. package/lib/Utils/identity-change-handler.js.map +1 -0
  103. package/lib/Utils/index.d.ts +6 -0
  104. package/lib/Utils/index.d.ts.map +1 -1
  105. package/lib/Utils/index.js +6 -0
  106. package/lib/Utils/index.js.map +1 -1
  107. package/lib/Utils/interactive-message.d.ts +201 -0
  108. package/lib/Utils/interactive-message.d.ts.map +1 -0
  109. package/lib/Utils/interactive-message.js +256 -0
  110. package/lib/Utils/interactive-message.js.map +1 -0
  111. package/lib/Utils/lt-hash.d.ts +7 -12
  112. package/lib/Utils/lt-hash.d.ts.map +1 -1
  113. package/lib/Utils/lt-hash.js +2 -42
  114. package/lib/Utils/lt-hash.js.map +1 -1
  115. package/lib/Utils/message-composer.d.ts +5 -0
  116. package/lib/Utils/message-composer.d.ts.map +1 -0
  117. package/lib/Utils/message-composer.js +5 -0
  118. package/lib/Utils/message-composer.js.map +1 -0
  119. package/lib/Utils/message-retry-manager.d.ts +30 -2
  120. package/lib/Utils/message-retry-manager.d.ts.map +1 -1
  121. package/lib/Utils/message-retry-manager.js +59 -2
  122. package/lib/Utils/message-retry-manager.js.map +1 -1
  123. package/lib/Utils/messages-media.d.ts +19 -5
  124. package/lib/Utils/messages-media.d.ts.map +1 -1
  125. package/lib/Utils/messages-media.js +26 -17
  126. package/lib/Utils/messages-media.js.map +1 -1
  127. package/lib/Utils/messages.d.ts.map +1 -1
  128. package/lib/Utils/messages.js +433 -13
  129. package/lib/Utils/messages.js.map +1 -1
  130. package/lib/Utils/noise-handler.d.ts +2 -2
  131. package/lib/Utils/noise-handler.d.ts.map +1 -1
  132. package/lib/Utils/noise-handler.js +10 -10
  133. package/lib/Utils/noise-handler.js.map +1 -1
  134. package/lib/Utils/offline-node-processor.d.ts +17 -0
  135. package/lib/Utils/offline-node-processor.d.ts.map +1 -0
  136. package/lib/Utils/offline-node-processor.js +40 -0
  137. package/lib/Utils/offline-node-processor.js.map +1 -0
  138. package/lib/Utils/process-message.d.ts.map +1 -1
  139. package/lib/Utils/process-message.js +96 -16
  140. package/lib/Utils/process-message.js.map +1 -1
  141. package/lib/Utils/reporting-utils.js +2 -2
  142. package/lib/Utils/reporting-utils.js.map +1 -1
  143. package/lib/Utils/stanza-ack.d.ts +11 -0
  144. package/lib/Utils/stanza-ack.d.ts.map +1 -0
  145. package/lib/Utils/stanza-ack.js +38 -0
  146. package/lib/Utils/stanza-ack.js.map +1 -0
  147. package/lib/Utils/sync-action-utils.d.ts.map +1 -1
  148. package/lib/Utils/sync-action-utils.js +2 -1
  149. package/lib/Utils/sync-action-utils.js.map +1 -1
  150. package/lib/Utils/tc-token-utils.d.ts +26 -1
  151. package/lib/Utils/tc-token-utils.d.ts.map +1 -1
  152. package/lib/Utils/tc-token-utils.js +149 -4
  153. package/lib/Utils/tc-token-utils.js.map +1 -1
  154. package/lib/Utils/use-mongo-file-auth-state.d.ts +16 -0
  155. package/lib/Utils/use-mongo-file-auth-state.d.ts.map +1 -0
  156. package/lib/Utils/use-mongo-file-auth-state.js +60 -0
  157. package/lib/Utils/use-mongo-file-auth-state.js.map +1 -0
  158. package/lib/Utils/use-multi-file-auth-state.js +1 -1
  159. package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
  160. package/lib/Utils/validate-connection.d.ts.map +1 -1
  161. package/lib/Utils/validate-connection.js +11 -1
  162. package/lib/Utils/validate-connection.js.map +1 -1
  163. package/lib/WABinary/generic-utils.d.ts +9 -0
  164. package/lib/WABinary/generic-utils.d.ts.map +1 -1
  165. package/lib/WABinary/generic-utils.js +23 -0
  166. package/lib/WABinary/generic-utils.js.map +1 -1
  167. package/lib/WABinary/jid-utils.js.map +1 -1
  168. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -1
  169. package/lib/WAUSync/Protocols/USyncContactProtocol.js +26 -3
  170. package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -1
  171. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  172. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
  173. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  174. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
  175. package/lib/WAUSync/Protocols/index.d.ts +1 -0
  176. package/lib/WAUSync/Protocols/index.d.ts.map +1 -1
  177. package/lib/WAUSync/Protocols/index.js +1 -0
  178. package/lib/WAUSync/Protocols/index.js.map +1 -1
  179. package/lib/WAUSync/USyncQuery.d.ts +1 -0
  180. package/lib/WAUSync/USyncQuery.d.ts.map +1 -1
  181. package/lib/WAUSync/USyncQuery.js +5 -1
  182. package/lib/WAUSync/USyncQuery.js.map +1 -1
  183. package/lib/WAUSync/USyncUser.d.ts +4 -0
  184. package/lib/WAUSync/USyncUser.d.ts.map +1 -1
  185. package/lib/WAUSync/USyncUser.js +8 -0
  186. package/lib/WAUSync/USyncUser.js.map +1 -1
  187. package/lib/addons/anti-delete.d.ts +72 -0
  188. package/lib/addons/anti-delete.d.ts.map +1 -0
  189. package/lib/addons/anti-delete.js +165 -0
  190. package/lib/addons/anti-delete.js.map +1 -0
  191. package/lib/addons/auto-reply.d.ts +67 -0
  192. package/lib/addons/auto-reply.d.ts.map +1 -0
  193. package/lib/addons/auto-reply.js +145 -0
  194. package/lib/addons/auto-reply.js.map +1 -0
  195. package/lib/addons/browser-presets.d.ts +16 -0
  196. package/lib/addons/browser-presets.d.ts.map +1 -0
  197. package/lib/addons/browser-presets.js +24 -0
  198. package/lib/addons/browser-presets.js.map +1 -0
  199. package/lib/addons/button-sender.d.ts +260 -0
  200. package/lib/addons/button-sender.d.ts.map +1 -0
  201. package/lib/addons/button-sender.js +771 -0
  202. package/lib/addons/button-sender.js.map +1 -0
  203. package/lib/addons/call-handler.d.ts +79 -0
  204. package/lib/addons/call-handler.d.ts.map +1 -0
  205. package/lib/addons/call-handler.js +342 -0
  206. package/lib/addons/call-handler.js.map +1 -0
  207. package/lib/addons/from-chats.d.ts +30 -0
  208. package/lib/addons/from-chats.d.ts.map +1 -0
  209. package/lib/addons/from-chats.js +38 -0
  210. package/lib/addons/from-chats.js.map +1 -0
  211. package/lib/addons/from-messages-recv.d.ts +59 -0
  212. package/lib/addons/from-messages-recv.d.ts.map +1 -0
  213. package/lib/addons/from-messages-recv.js +326 -0
  214. package/lib/addons/from-messages-recv.js.map +1 -0
  215. package/lib/addons/from-messages-send.d.ts +50 -0
  216. package/lib/addons/from-messages-send.d.ts.map +1 -0
  217. package/lib/addons/from-messages-send.js +148 -0
  218. package/lib/addons/from-messages-send.js.map +1 -0
  219. package/lib/addons/from-messages.d.ts +52 -0
  220. package/lib/addons/from-messages.d.ts.map +1 -0
  221. package/lib/addons/from-messages.js +304 -0
  222. package/lib/addons/from-messages.js.map +1 -0
  223. package/lib/addons/index.d.ts +67 -0
  224. package/lib/addons/index.d.ts.map +1 -0
  225. package/lib/addons/index.js +86 -0
  226. package/lib/addons/index.js.map +1 -0
  227. package/lib/addons/interactive-message.d.ts +201 -0
  228. package/lib/addons/interactive-message.d.ts.map +1 -0
  229. package/lib/addons/interactive-message.js +256 -0
  230. package/lib/addons/interactive-message.js.map +1 -0
  231. package/lib/addons/jid-plot.d.ts +49 -0
  232. package/lib/addons/jid-plot.d.ts.map +1 -0
  233. package/lib/addons/jid-plot.js +84 -0
  234. package/lib/addons/jid-plot.js.map +1 -0
  235. package/lib/addons/jid-plotting.d.ts +54 -0
  236. package/lib/addons/jid-plotting.d.ts.map +1 -0
  237. package/lib/addons/jid-plotting.js +150 -0
  238. package/lib/addons/jid-plotting.js.map +1 -0
  239. package/lib/addons/lid-support.d.ts +41 -0
  240. package/lib/addons/lid-support.d.ts.map +1 -0
  241. package/lib/addons/lid-support.js +42 -0
  242. package/lib/addons/lid-support.js.map +1 -0
  243. package/lib/addons/message-composer.d.ts +142 -0
  244. package/lib/addons/message-composer.d.ts.map +1 -0
  245. package/lib/addons/message-composer.js +377 -0
  246. package/lib/addons/message-composer.js.map +1 -0
  247. package/lib/addons/message-scheduler.d.ts +77 -0
  248. package/lib/addons/message-scheduler.d.ts.map +1 -0
  249. package/lib/addons/message-scheduler.js +108 -0
  250. package/lib/addons/message-scheduler.js.map +1 -0
  251. package/lib/addons/message-search.d.ts +51 -0
  252. package/lib/addons/message-search.d.ts.map +1 -0
  253. package/lib/addons/message-search.js +171 -0
  254. package/lib/addons/message-search.js.map +1 -0
  255. package/lib/addons/message-utils.d.ts +88 -0
  256. package/lib/addons/message-utils.d.ts.map +1 -0
  257. package/lib/addons/message-utils.js +292 -0
  258. package/lib/addons/message-utils.js.map +1 -0
  259. package/lib/addons/outgoing-calls.d.ts +64 -0
  260. package/lib/addons/outgoing-calls.d.ts.map +1 -0
  261. package/lib/addons/outgoing-calls.js +139 -0
  262. package/lib/addons/outgoing-calls.js.map +1 -0
  263. package/lib/addons/pairing-fix.d.ts +31 -0
  264. package/lib/addons/pairing-fix.d.ts.map +1 -0
  265. package/lib/addons/pairing-fix.js +74 -0
  266. package/lib/addons/pairing-fix.js.map +1 -0
  267. package/lib/addons/past-participants.d.ts +42 -0
  268. package/lib/addons/past-participants.d.ts.map +1 -0
  269. package/lib/addons/past-participants.js +41 -0
  270. package/lib/addons/past-participants.js.map +1 -0
  271. package/lib/addons/rich-response.d.ts +111 -0
  272. package/lib/addons/rich-response.d.ts.map +1 -0
  273. package/lib/addons/rich-response.js +152 -0
  274. package/lib/addons/rich-response.js.map +1 -0
  275. package/lib/addons/scheduling.d.ts +41 -0
  276. package/lib/addons/scheduling.d.ts.map +1 -0
  277. package/lib/addons/scheduling.js +110 -0
  278. package/lib/addons/scheduling.js.map +1 -0
  279. package/lib/addons/status-posting.d.ts +177 -0
  280. package/lib/addons/status-posting.d.ts.map +1 -0
  281. package/lib/addons/status-posting.js +240 -0
  282. package/lib/addons/status-posting.js.map +1 -0
  283. package/lib/addons/stickerpack.d.ts +37 -0
  284. package/lib/addons/stickerpack.d.ts.map +1 -0
  285. package/lib/addons/stickerpack.js +39 -0
  286. package/lib/addons/stickerpack.js.map +1 -0
  287. package/lib/addons/templates.d.ts +72 -0
  288. package/lib/addons/templates.d.ts.map +1 -0
  289. package/lib/addons/templates.js +145 -0
  290. package/lib/addons/templates.js.map +1 -0
  291. package/lib/addons/vcard.d.ts +59 -0
  292. package/lib/addons/vcard.d.ts.map +1 -0
  293. package/lib/addons/vcard.js +88 -0
  294. package/lib/addons/vcard.js.map +1 -0
  295. package/lib/index.d.ts +1 -0
  296. package/lib/index.d.ts.map +1 -1
  297. package/lib/index.js +1 -0
  298. package/lib/index.js.map +1 -1
  299. package/package.json +4 -2
@@ -1,22 +1,31 @@
1
1
  import NodeCache from '@cacheable/node-cache';
2
2
  import { Boom } from '@hapi/boom';
3
3
  import { proto } from '../../WAProto/index.js';
4
- import { DEFAULT_CACHE_TTLS, PROCESSABLE_HISTORY_TYPES } from '../Defaults/index.js';
4
+ import { DEFAULT_CACHE_TTLS, HISTORY_SYNC_PAUSED_TIMEOUT_MS, PROCESSABLE_HISTORY_TYPES } from '../Defaults/index.js';
5
5
  import { ALL_WA_PATCH_NAMES } from '../Types/index.js';
6
6
  import { SyncState } from '../Types/State.js';
7
- import { chatModificationToAppPatch, decodePatches, decodeSyncdSnapshot, encodeSyncdPatch, extractSyncdPatches, generateProfilePicture, getHistoryMsg, newLTHashState, processSyncAction } from '../Utils/index.js';
7
+ import { chatModificationToAppPatch, decodePatches, decodeSyncdSnapshot, encodeSyncdPatch, ensureLTHashStateVersion, extractSyncdPatches, generateProfilePicture, getHistoryMsg, isAppStateSyncIrrecoverable, isMissingKeyError, MAX_SYNC_ATTEMPTS, 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
10
  import { buildTcTokenFromJid } from '../Utils/tc-token-utils.js';
11
- import { getBinaryNodeChild, getBinaryNodeChildren, jidDecode, jidNormalizedUser, reduceBinaryNodeToDictionary, S_WHATSAPP_NET } from '../WABinary/index.js';
11
+ import { getBinaryNodeChild, getBinaryNodeChildren, isHostedLidUser, isHostedPnUser, isLidUser, isPnUser, jidDecode, jidNormalizedUser, reduceBinaryNodeToDictionary, S_WHATSAPP_NET } from '../WABinary/index.js';
12
12
  import { USyncQuery, USyncUser } from '../WAUSync/index.js';
13
13
  import { makeSocket } from './socket.js';
14
- const MAX_SYNC_ATTEMPTS = 2;
15
14
  export const makeChatsSocket = (config) => {
16
15
  const { logger, markOnlineOnConnect, fireInitQueries, appStateMacVerification, shouldIgnoreJid, shouldSyncHistoryMessage, getMessage } = config;
17
16
  const sock = makeSocket(config);
18
- const { ev, ws, authState, generateMessageTag, sendNode, query, signalRepository, onUnexpectedError } = sock;
17
+ const { ev, ws, authState, generateMessageTag, sendNode, query, signalRepository, onUnexpectedError, sendUnifiedSession } = sock;
18
+ const getLIDForPN = signalRepository.lidMapping.getLIDForPN.bind(signalRepository.lidMapping);
19
19
  let privacySettings;
20
+ /** Server-assigned AB props for protocol behavior. */
21
+ const serverProps = {
22
+ /** AB prop 10518: gate tctoken on 1:1 messages. Default true (safe: avoids 463). */
23
+ privacyTokenOn1to1: true,
24
+ /** AB prop 9666: gate tctoken on profile picture IQs. WA Web default: true. */
25
+ profilePicPrivacyToken: true,
26
+ /** AB prop 14303: issue tctokens to LID instead of PN. WA Web default: false. */
27
+ lidTrustedTokenIssueToLid: false
28
+ };
20
29
  let syncState = SyncState.Connecting;
21
30
  /** this mutex ensures that messages are processed in order */
22
31
  const messageMutex = makeMutex();
@@ -28,6 +37,15 @@ export const makeChatsSocket = (config) => {
28
37
  const notificationMutex = makeMutex();
29
38
  // Timeout for AwaitingInitialSync state
30
39
  let awaitingSyncTimeout;
40
+ // In-memory history sync completion tracking (resets on reconnection)
41
+ const historySyncStatus = {
42
+ initialBootstrapComplete: false,
43
+ recentSyncComplete: false
44
+ };
45
+ let historySyncPausedTimeout;
46
+ // Collections blocked on missing app state sync keys (mirrors WA Web's "Blocked" state).
47
+ // When a key arrives via APP_STATE_SYNC_KEY_SHARE, these are re-synced.
48
+ const blockedCollections = new Set();
31
49
  const placeholderResendCache = config.placeholderResendCache ||
32
50
  new NodeCache({
33
51
  stdTTL: DEFAULT_CACHE_TTLS.MSG_RETRY, // 1 hour
@@ -258,6 +276,42 @@ export const makeChatsSocket = (config) => {
258
276
  return getBinaryNodeChildren(listNode, 'item').map(n => n.attrs.jid);
259
277
  };
260
278
  const updateBlockStatus = async (jid, action) => {
279
+ const normalizedJid = jidNormalizedUser(jid);
280
+ let lid;
281
+ let pn_jid;
282
+ if (isLidUser(normalizedJid) || isHostedLidUser(normalizedJid)) {
283
+ lid = normalizedJid;
284
+ if (action === 'block') {
285
+ const pn = await signalRepository.lidMapping.getPNForLID(normalizedJid);
286
+ if (!pn) {
287
+ throw new Boom(`Unable to resolve PN JID for LID: ${jid}`, { statusCode: 400 });
288
+ }
289
+ pn_jid = jidNormalizedUser(pn);
290
+ }
291
+ }
292
+ else if (isPnUser(normalizedJid) || isHostedPnUser(normalizedJid)) {
293
+ const mapped = await signalRepository.lidMapping.getLIDForPN(normalizedJid);
294
+ if (!mapped) {
295
+ throw new Boom(`Unable to resolve LID for PN JID: ${jid}`, { statusCode: 400 });
296
+ }
297
+ lid = mapped;
298
+ if (action === 'block') {
299
+ pn_jid = jidNormalizedUser(normalizedJid);
300
+ }
301
+ }
302
+ else {
303
+ throw new Boom(`Invalid jid: ${jid}`, { statusCode: 400 });
304
+ }
305
+ const itemAttrs = {
306
+ action,
307
+ jid: lid
308
+ };
309
+ if (action === 'block') {
310
+ if (!pn_jid) {
311
+ throw new Boom(`pn_jid required for block: ${jid}`, { statusCode: 400 });
312
+ }
313
+ itemAttrs.pn_jid = pn_jid;
314
+ }
261
315
  await query({
262
316
  tag: 'iq',
263
317
  attrs: {
@@ -268,10 +322,7 @@ export const makeChatsSocket = (config) => {
268
322
  content: [
269
323
  {
270
324
  tag: 'item',
271
- attrs: {
272
- action,
273
- jid
274
- }
325
+ attrs: itemAttrs
275
326
  }
276
327
  ]
277
328
  });
@@ -353,6 +404,15 @@ export const makeChatsSocket = (config) => {
353
404
  };
354
405
  };
355
406
  const resyncAppState = ev.createBufferedFunction(async (collections, isInitialSync) => {
407
+ const appStateSyncKeyCache = new Map();
408
+ const getCachedAppStateSyncKey = async (keyId) => {
409
+ if (appStateSyncKeyCache.has(keyId)) {
410
+ return appStateSyncKeyCache.get(keyId) ?? undefined;
411
+ }
412
+ const key = await getAppStateSyncKey(keyId);
413
+ appStateSyncKeyCache.set(keyId, key ?? null);
414
+ return key;
415
+ };
356
416
  // we use this to determine which events to fire
357
417
  // otherwise when we resync from scratch -- all notifications will fire
358
418
  const initialVersionMap = {};
@@ -361,6 +421,9 @@ export const makeChatsSocket = (config) => {
361
421
  const collectionsToHandle = new Set(collections);
362
422
  // in case something goes wrong -- ensure we don't enter a loop that cannot be exited from
363
423
  const attemptsMap = {};
424
+ // collections that failed and need a full snapshot on retry
425
+ // mirrors WA Web's ErrorFatal -> force snapshot behavior
426
+ const forceSnapshotCollections = new Set();
364
427
  // keep executing till all collections are done
365
428
  // sometimes a single patch request will not return all the patches (God knows why)
366
429
  // so we fetch till they're all done (this is determined by the "has_more_patches" flag)
@@ -371,6 +434,7 @@ export const makeChatsSocket = (config) => {
371
434
  const result = await authState.keys.get('app-state-sync-version', [name]);
372
435
  let state = result[name];
373
436
  if (state) {
437
+ state = ensureLTHashStateVersion(state);
374
438
  if (typeof initialVersionMap[name] === 'undefined') {
375
439
  initialVersionMap[name] = state.version;
376
440
  }
@@ -379,14 +443,18 @@ export const makeChatsSocket = (config) => {
379
443
  state = newLTHashState();
380
444
  }
381
445
  states[name] = state;
382
- logger.info(`resyncing ${name} from v${state.version}`);
446
+ const shouldForceSnapshot = forceSnapshotCollections.has(name);
447
+ if (shouldForceSnapshot) {
448
+ forceSnapshotCollections.delete(name);
449
+ }
450
+ logger.info(`resyncing ${name} from v${state.version}${shouldForceSnapshot ? ' (forcing snapshot)' : ''}`);
383
451
  nodes.push({
384
452
  tag: 'collection',
385
453
  attrs: {
386
454
  name,
387
455
  version: state.version.toString(),
388
- // return snapshot if being synced from scratch
389
- return_snapshot: (!state.version).toString()
456
+ // return snapshot if syncing from scratch or forcing after a failed attempt
457
+ return_snapshot: (shouldForceSnapshot || !state.version).toString()
390
458
  }
391
459
  });
392
460
  }
@@ -412,7 +480,7 @@ export const makeChatsSocket = (config) => {
412
480
  const { patches, hasMorePatches, snapshot } = decoded[name];
413
481
  try {
414
482
  if (snapshot) {
415
- const { state: newState, mutationMap } = await decodeSyncdSnapshot(name, snapshot, getAppStateSyncKey, initialVersionMap[name], appStateMacVerification.snapshot);
483
+ const { state: newState, mutationMap } = await decodeSyncdSnapshot(name, snapshot, getCachedAppStateSyncKey, initialVersionMap[name], appStateMacVerification.snapshot);
416
484
  states[name] = newState;
417
485
  Object.assign(globalMutationMap, mutationMap);
418
486
  logger.info(`restored state of ${name} from snapshot to v${newState.version} with mutations`);
@@ -420,7 +488,7 @@ export const makeChatsSocket = (config) => {
420
488
  }
421
489
  // only process if there are syncd patches
422
490
  if (patches.length) {
423
- const { state: newState, mutationMap } = await decodePatches(name, patches, states[name], getAppStateSyncKey, config.options, initialVersionMap[name], logger, appStateMacVerification.patch);
491
+ const { state: newState, mutationMap } = await decodePatches(name, patches, states[name], getCachedAppStateSyncKey, config.options, initialVersionMap[name], logger, appStateMacVerification.patch);
424
492
  await authState.keys.set({ 'app-state-sync-version': { [name]: newState } });
425
493
  logger.info(`synced ${name} to v${newState.version}`);
426
494
  initialVersionMap[name] = newState.version;
@@ -435,19 +503,37 @@ export const makeChatsSocket = (config) => {
435
503
  }
436
504
  }
437
505
  catch (error) {
438
- // if retry attempts overshoot
439
- // or key not found
440
- const isIrrecoverableError = attemptsMap[name] >= MAX_SYNC_ATTEMPTS ||
441
- error.output?.statusCode === 404 ||
442
- error.name === 'TypeError';
443
- logger.info({ name, error: error.stack }, `failed to sync state from version${isIrrecoverableError ? '' : ', removing and trying from scratch'}`);
444
- await authState.keys.set({ 'app-state-sync-version': { [name]: null } });
445
- // increment number of retries
446
506
  attemptsMap[name] = (attemptsMap[name] || 0) + 1;
447
- if (isIrrecoverableError) {
448
- // stop retrying
507
+ const logData = {
508
+ name,
509
+ attempt: attemptsMap[name],
510
+ version: states[name].version,
511
+ statusCode: error.output?.statusCode,
512
+ errorType: error.name,
513
+ error: error.stack
514
+ };
515
+ if (isMissingKeyError(error) && attemptsMap[name] >= MAX_SYNC_ATTEMPTS) {
516
+ // WA Web treats missing keys as "Blocked" — park the collection
517
+ // until the key arrives via APP_STATE_SYNC_KEY_SHARE.
518
+ logger.warn(logData, `${name} blocked on missing key from v${states[name].version}, parking after ${attemptsMap[name]} attempts`);
519
+ blockedCollections.add(name);
449
520
  collectionsToHandle.delete(name);
450
521
  }
522
+ else if (isMissingKeyError(error)) {
523
+ // Retry with a snapshot which may use a different key.
524
+ logger.info(logData, `${name} blocked on missing key from v${states[name].version}, retrying with snapshot`);
525
+ forceSnapshotCollections.add(name);
526
+ }
527
+ else if (isAppStateSyncIrrecoverable(error, attemptsMap[name])) {
528
+ logger.warn(logData, `failed to sync ${name} from v${states[name].version}, giving up`);
529
+ collectionsToHandle.delete(name);
530
+ }
531
+ else {
532
+ logger.info(logData, `failed to sync ${name} from v${states[name].version}, forcing snapshot retry`);
533
+ // force a full snapshot on retry to recover from
534
+ // corrupted local state (e.g. LTHash MAC mismatch)
535
+ forceSnapshotCollections.add(name);
536
+ }
451
537
  }
452
538
  }
453
539
  }
@@ -464,7 +550,22 @@ export const makeChatsSocket = (config) => {
464
550
  */
465
551
  const profilePictureUrl = async (jid, type = 'preview', timeoutMs) => {
466
552
  const baseContent = [{ tag: 'picture', attrs: { type, query: 'url' } }];
467
- const tcTokenContent = await buildTcTokenFromJid({ authState, jid, baseContent });
553
+ // WA Web only includes tctoken for user JIDs (not groups/newsletters)
554
+ // and never for own profile pic (Chat model for self has no tcToken).
555
+ // Including tctoken for own JID causes the server to never respond.
556
+ const normalizedJid = jidNormalizedUser(jid);
557
+ const isUserJid = isPnUser(normalizedJid) || isLidUser(normalizedJid);
558
+ const me = authState.creds.me;
559
+ const isSelf = me && (normalizedJid === jidNormalizedUser(me.id) || (me.lid && normalizedJid === jidNormalizedUser(me.lid)));
560
+ let content = baseContent;
561
+ if (serverProps.profilePicPrivacyToken && isUserJid && !isSelf) {
562
+ content = await buildTcTokenFromJid({
563
+ authState,
564
+ jid: normalizedJid,
565
+ baseContent,
566
+ getLIDForPN
567
+ });
568
+ }
468
569
  jid = jidNormalizedUser(jid);
469
570
  const result = await query({
470
571
  tag: 'iq',
@@ -474,7 +575,7 @@ export const makeChatsSocket = (config) => {
474
575
  type: 'get',
475
576
  xmlns: 'w:profile:picture'
476
577
  },
477
- content: tcTokenContent
578
+ content
478
579
  }, timeoutMs);
479
580
  const child = getBinaryNodeChild(result, 'picture');
480
581
  return child?.attrs?.url;
@@ -499,12 +600,16 @@ export const makeChatsSocket = (config) => {
499
600
  };
500
601
  const sendPresenceUpdate = async (type, toJid) => {
501
602
  const me = authState.creds.me;
502
- if (type === 'available' || type === 'unavailable') {
603
+ const isAvailableType = type === 'available';
604
+ if (isAvailableType || type === 'unavailable') {
503
605
  if (!me.name) {
504
606
  logger.warn('no name present, ignoring presence update request...');
505
607
  return;
506
608
  }
507
- ev.emit('connection.update', { isOnline: type === 'available' });
609
+ ev.emit('connection.update', { isOnline: isAvailableType });
610
+ if (isAvailableType) {
611
+ void sendUnifiedSession();
612
+ }
508
613
  await sendNode({
509
614
  tag: 'presence',
510
615
  attrs: {
@@ -536,7 +641,12 @@ export const makeChatsSocket = (config) => {
536
641
  * @param tcToken token for subscription, use if present
537
642
  */
538
643
  const presenceSubscribe = async (toJid) => {
539
- const tcTokenContent = await buildTcTokenFromJid({ authState, jid: toJid });
644
+ // Only include tctoken for user JIDs groups/newsletters don't use tctokens
645
+ const normalizedToJid = jidNormalizedUser(toJid);
646
+ const isUserJid = isPnUser(normalizedToJid) || isLidUser(normalizedToJid);
647
+ const tcTokenContent = isUserJid
648
+ ? await buildTcTokenFromJid({ authState, jid: normalizedToJid, getLIDForPN })
649
+ : undefined;
540
650
  return sendNode({
541
651
  tag: 'presence',
542
652
  attrs: {
@@ -591,7 +701,7 @@ export const makeChatsSocket = (config) => {
591
701
  logger.debug({ patch: patchCreate }, 'applying app patch');
592
702
  await resyncAppState([name], false);
593
703
  const { [name]: currentSyncVersion } = await authState.keys.get('app-state-sync-version', [name]);
594
- initial = currentSyncVersion || newLTHashState();
704
+ initial = currentSyncVersion ? ensureLTHashStateVersion(currentSyncVersion) : newLTHashState();
595
705
  encodeResult = await encodeSyncdPatch(patchCreate, myAppStateKeyId, initial, getAppStateSyncKey);
596
706
  const { patch, state } = encodeResult;
597
707
  const node = {
@@ -637,22 +747,21 @@ export const makeChatsSocket = (config) => {
637
747
  }
638
748
  }
639
749
  };
640
- /** sending non-abt props may fix QR scan fail if server expects */
750
+ /** fetch AB props */
641
751
  const fetchProps = async () => {
642
- //TODO: implement both protocol 1 and protocol 2 prop fetching, specially for abKey for WM
643
752
  const resultNode = await query({
644
753
  tag: 'iq',
645
754
  attrs: {
646
755
  to: S_WHATSAPP_NET,
647
- xmlns: 'w',
756
+ xmlns: 'abt',
648
757
  type: 'get'
649
758
  },
650
759
  content: [
651
760
  {
652
761
  tag: 'props',
653
762
  attrs: {
654
- protocol: '2',
655
- hash: authState?.creds?.lastPropHash || ''
763
+ protocol: '1',
764
+ ...(authState?.creds?.lastPropHash ? { hash: authState.creds.lastPropHash } : {})
656
765
  }
657
766
  }
658
767
  ]
@@ -667,7 +776,20 @@ export const makeChatsSocket = (config) => {
667
776
  }
668
777
  props = reduceBinaryNodeToDictionary(propsNode, 'prop');
669
778
  }
670
- logger.debug('fetched props');
779
+ // Extract protocol-relevant AB props (only the ones we need)
780
+ const privacyTokenProp = props['10518'] ?? props['privacy_token_sending_on_all_1_on_1_messages'];
781
+ if (privacyTokenProp !== undefined) {
782
+ serverProps.privacyTokenOn1to1 = privacyTokenProp === 'true' || privacyTokenProp === '1';
783
+ }
784
+ const profilePicProp = props['9666'] ?? props['profile_scraping_privacy_token_in_photo_iq'];
785
+ if (profilePicProp !== undefined) {
786
+ serverProps.profilePicPrivacyToken = profilePicProp === 'true' || profilePicProp === '1';
787
+ }
788
+ const lidIssueProp = props['14303'] ?? props['lid_trusted_token_issue_to_lid'];
789
+ if (lidIssueProp !== undefined) {
790
+ serverProps.lidTrustedTokenIssueToLid = lidIssueProp === 'true' || lidIssueProp === '1';
791
+ }
792
+ logger.debug({ serverProps }, 'fetched props');
671
793
  return props;
672
794
  };
673
795
  /**
@@ -807,6 +929,47 @@ export const makeChatsSocket = (config) => {
807
929
  ? shouldSyncHistoryMessage(historyMsg) &&
808
930
  PROCESSABLE_HISTORY_TYPES.includes(historyMsg.syncType)
809
931
  : false;
932
+ if (historyMsg && shouldProcessHistoryMsg) {
933
+ const syncType = historyMsg.syncType;
934
+ // INITIAL_BOOTSTRAP — fire immediately, no progress check (same as WA Web K function)
935
+ if (syncType === proto.HistorySync.HistorySyncType.INITIAL_BOOTSTRAP &&
936
+ !historySyncStatus.initialBootstrapComplete) {
937
+ historySyncStatus.initialBootstrapComplete = true;
938
+ ev.emit('messaging-history.status', {
939
+ syncType,
940
+ status: 'complete',
941
+ explicit: true
942
+ });
943
+ }
944
+ // RECENT with progress === 100 — explicit completion
945
+ if (syncType === proto.HistorySync.HistorySyncType.RECENT &&
946
+ historyMsg.progress === 100 &&
947
+ !historySyncStatus.recentSyncComplete) {
948
+ historySyncStatus.recentSyncComplete = true;
949
+ clearTimeout(historySyncPausedTimeout);
950
+ historySyncPausedTimeout = undefined;
951
+ ev.emit('messaging-history.status', {
952
+ syncType,
953
+ status: 'complete',
954
+ explicit: true
955
+ });
956
+ }
957
+ // Reset 120s paused timeout on any RECENT chunk (like WA Web's handleChunkProgress)
958
+ if (syncType === proto.HistorySync.HistorySyncType.RECENT && !historySyncStatus.recentSyncComplete) {
959
+ clearTimeout(historySyncPausedTimeout);
960
+ historySyncPausedTimeout = setTimeout(() => {
961
+ if (!historySyncStatus.recentSyncComplete) {
962
+ historySyncStatus.recentSyncComplete = true;
963
+ ev.emit('messaging-history.status', {
964
+ syncType: proto.HistorySync.HistorySyncType.RECENT,
965
+ status: 'paused',
966
+ explicit: false
967
+ });
968
+ }
969
+ historySyncPausedTimeout = undefined;
970
+ }, HISTORY_SYNC_PAUSED_TIMEOUT_MS);
971
+ }
972
+ }
810
973
  // State machine: decide on sync and flush
811
974
  if (historyMsg && syncState === SyncState.AwaitingInitialSync) {
812
975
  if (awaitingSyncTimeout) {
@@ -826,6 +989,8 @@ export const makeChatsSocket = (config) => {
826
989
  }
827
990
  const doAppStateSync = async () => {
828
991
  if (syncState === SyncState.Syncing) {
992
+ // All collections will be synced, so clear any blocked ones
993
+ blockedCollections.clear();
829
994
  logger.info('Doing app state sync');
830
995
  await resyncAppState(ALL_WA_PATCH_NAMES, true);
831
996
  // Sync is complete, go online and flush everything
@@ -885,6 +1050,11 @@ export const makeChatsSocket = (config) => {
885
1050
  }
886
1051
  });
887
1052
  ev.on('connection.update', ({ connection, receivedPendingNotifications }) => {
1053
+ if (connection === 'close') {
1054
+ blockedCollections.clear();
1055
+ clearTimeout(historySyncPausedTimeout);
1056
+ historySyncPausedTimeout = undefined;
1057
+ }
888
1058
  if (connection === 'open') {
889
1059
  if (fireInitQueries) {
890
1060
  executeInitQueries().catch(error => onUnexpectedError(error, 'init queries'));
@@ -894,6 +1064,10 @@ export const makeChatsSocket = (config) => {
894
1064
  if (!receivedPendingNotifications || syncState !== SyncState.Connecting) {
895
1065
  return;
896
1066
  }
1067
+ historySyncStatus.initialBootstrapComplete = false;
1068
+ historySyncStatus.recentSyncComplete = false;
1069
+ clearTimeout(historySyncPausedTimeout);
1070
+ historySyncPausedTimeout = undefined;
897
1071
  syncState = SyncState.AwaitingInitialSync;
898
1072
  logger.info('Connection is now AwaitingInitialSync, buffering events');
899
1073
  ev.buffer();
@@ -906,19 +1080,49 @@ export const makeChatsSocket = (config) => {
906
1080
  setTimeout(() => ev.flush(), 0);
907
1081
  return;
908
1082
  }
909
- logger.info('History sync is enabled, awaiting notification with a 20s timeout.');
1083
+ // On reconnection (accountSyncCounter > 0), the server does not push
1084
+ // history sync notifications — the device already has its data.
1085
+ // Skip the 20s wait and go online immediately.
1086
+ if (authState.creds.accountSyncCounter > 0) {
1087
+ logger.info('Reconnection with existing sync data, skipping history sync wait. Transitioning to Online.');
1088
+ syncState = SyncState.Online;
1089
+ setTimeout(() => ev.flush(), 0);
1090
+ return;
1091
+ }
1092
+ logger.info('First connection, awaiting history sync notification with a 20s timeout.');
910
1093
  if (awaitingSyncTimeout) {
911
1094
  clearTimeout(awaitingSyncTimeout);
912
1095
  }
913
1096
  awaitingSyncTimeout = setTimeout(() => {
914
1097
  if (syncState === SyncState.AwaitingInitialSync) {
915
- // TODO: investigate
916
1098
  logger.warn('Timeout in AwaitingInitialSync, forcing state to Online and flushing buffer');
917
1099
  syncState = SyncState.Online;
918
1100
  ev.flush();
1101
+ // Increment so subsequent reconnections skip the 20s wait.
1102
+ // Late-arriving history is still processed via processMessage
1103
+ // regardless of the state machine phase.
1104
+ const accountSyncCounter = (authState.creds.accountSyncCounter || 0) + 1;
1105
+ ev.emit('creds.update', { accountSyncCounter });
919
1106
  }
920
1107
  }, 20000);
921
1108
  });
1109
+ // When an app state sync key arrives (myAppStateKeyId is set) and there are
1110
+ // collections blocked on a missing key, trigger a re-sync for just those collections.
1111
+ // This mirrors WA Web's Blocked → retry-on-key-arrival behavior.
1112
+ ev.on('creds.update', ({ myAppStateKeyId }) => {
1113
+ if (!myAppStateKeyId || blockedCollections.size === 0) {
1114
+ return;
1115
+ }
1116
+ // If we're in the middle of a full sync, doAppStateSync handles all collections
1117
+ if (syncState === SyncState.Syncing) {
1118
+ blockedCollections.clear();
1119
+ return;
1120
+ }
1121
+ const collections = [...blockedCollections];
1122
+ blockedCollections.clear();
1123
+ logger.info({ collections }, 'app state sync key arrived, re-syncing blocked collections');
1124
+ resyncAppState(collections, false).catch(error => onUnexpectedError(error, 'blocked collections resync'));
1125
+ });
922
1126
  ev.on('lid-mapping.update', async ({ lid, pn }) => {
923
1127
  try {
924
1128
  await signalRepository.lidMapping.storeLIDPNMappings([{ lid, pn }]);
@@ -929,6 +1133,7 @@ export const makeChatsSocket = (config) => {
929
1133
  });
930
1134
  return {
931
1135
  ...sock,
1136
+ serverProps,
932
1137
  createCallLink,
933
1138
  getBotListV2,
934
1139
  messageMutex,
@@ -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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"}