@periskope/baileys 7.0.0-alpha-3 → 7.0.0-alpha-5

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 (63) hide show
  1. package/lib/Signal/Group/sender-chain-key.d.ts.map +1 -1
  2. package/lib/Signal/Group/sender-chain-key.js +0 -1
  3. package/lib/Signal/Group/sender-chain-key.js.map +1 -1
  4. package/lib/Signal/Group/sender-key-state.d.ts.map +1 -1
  5. package/lib/Signal/Group/sender-key-state.js +0 -3
  6. package/lib/Signal/Group/sender-key-state.js.map +1 -1
  7. package/lib/Signal/libsignal.d.ts +2 -2
  8. package/lib/Signal/libsignal.d.ts.map +1 -1
  9. package/lib/Signal/libsignal.js +71 -58
  10. package/lib/Signal/libsignal.js.map +1 -1
  11. package/lib/Signal/lid-mapping.d.ts +1 -4
  12. package/lib/Signal/lid-mapping.d.ts.map +1 -1
  13. package/lib/Signal/lid-mapping.js +59 -22
  14. package/lib/Signal/lid-mapping.js.map +1 -1
  15. package/lib/Socket/business.d.ts +1 -1
  16. package/lib/Socket/chats.d.ts +1 -1
  17. package/lib/Socket/communities.d.ts +1 -1
  18. package/lib/Socket/groups.d.ts +1 -1
  19. package/lib/Socket/groups.d.ts.map +1 -1
  20. package/lib/Socket/groups.js +2 -1
  21. package/lib/Socket/groups.js.map +1 -1
  22. package/lib/Socket/index.d.ts +1 -1
  23. package/lib/Socket/messages-recv.d.ts +1 -1
  24. package/lib/Socket/messages-recv.d.ts.map +1 -1
  25. package/lib/Socket/messages-recv.js +27 -24
  26. package/lib/Socket/messages-recv.js.map +1 -1
  27. package/lib/Socket/messages-send.d.ts +1 -1
  28. package/lib/Socket/messages-send.d.ts.map +1 -1
  29. package/lib/Socket/messages-send.js +81 -101
  30. package/lib/Socket/messages-send.js.map +1 -1
  31. package/lib/Socket/newsletter.d.ts +1 -1
  32. package/lib/Socket/socket.d.ts +1 -1
  33. package/lib/Socket/socket.d.ts.map +1 -1
  34. package/lib/Socket/socket.js +5 -6
  35. package/lib/Socket/socket.js.map +1 -1
  36. package/lib/Types/Signal.d.ts +9 -5
  37. package/lib/Types/Signal.d.ts.map +1 -1
  38. package/lib/Types/Socket.d.ts +15 -7
  39. package/lib/Types/Socket.d.ts.map +1 -1
  40. package/lib/Utils/auth-utils.js +2 -2
  41. package/lib/Utils/auth-utils.js.map +1 -1
  42. package/lib/Utils/decode-wa-message.d.ts +3 -2
  43. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  44. package/lib/Utils/decode-wa-message.js +3 -3
  45. package/lib/Utils/decode-wa-message.js.map +1 -1
  46. package/lib/Utils/generics.d.ts +1 -0
  47. package/lib/Utils/generics.d.ts.map +1 -1
  48. package/lib/Utils/generics.js +7 -0
  49. package/lib/Utils/generics.js.map +1 -1
  50. package/lib/Utils/messages.js +3 -3
  51. package/lib/Utils/messages.js.map +1 -1
  52. package/lib/Utils/process-message.d.ts +2 -2
  53. package/lib/Utils/process-message.d.ts.map +1 -1
  54. package/lib/Utils/process-message.js +2 -3
  55. package/lib/Utils/process-message.js.map +1 -1
  56. package/lib/Utils/signal.d.ts +2 -2
  57. package/lib/Utils/signal.d.ts.map +1 -1
  58. package/lib/Utils/signal.js.map +1 -1
  59. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +2 -1
  60. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -1
  61. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +10 -2
  62. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -1
  63. package/package.json +1 -1
@@ -3,10 +3,10 @@ import { Boom } from '@hapi/boom';
3
3
  import { proto } from '../../WAProto/index.js';
4
4
  import { DEFAULT_CACHE_TTLS, WA_DEFAULT_EPHEMERAL } from '../Defaults/index.js';
5
5
  import { WAMessageAddressingMode } from '../Types/index.js';
6
- import { aggregateMessageKeysNotFromMe, assertMediaContent, bindWaitForEvent, decryptMediaRetryData, encodeNewsletterMessage, encodeSignedDeviceIdentity, encodeWAMessage, encryptMediaRetryRequest, extractDeviceJids, generateMessageIDV2, generateWAMessage, getStatusCodeForMediaRetry, getUrlFromDirectPath, getWAUploadToServer, MessageRetryManager, normalizeMessageContent, parseAndInjectE2ESessions, unixTimestampSeconds } from '../Utils/index.js';
6
+ import { aggregateMessageKeysNotFromMe, assertMediaContent, bindWaitForEvent, decryptMediaRetryData, encodeNewsletterMessage, encodeSignedDeviceIdentity, encodeWAMessage, encryptMediaRetryRequest, extractDeviceJids, generateMessageIDV2, generateParticipantHashV2, generateWAMessage, getStatusCodeForMediaRetry, getUrlFromDirectPath, getWAUploadToServer, MessageRetryManager, normalizeMessageContent, parseAndInjectE2ESessions, unixTimestampSeconds } from '../Utils/index.js';
7
7
  import { getUrlInfo } from '../Utils/link-preview.js';
8
8
  import { makeKeyedMutex } from '../Utils/make-mutex.js';
9
- import { areJidsSameUser, getBinaryNodeChild, getBinaryNodeChildren, isJidGroup, isPnUser, jidDecode, jidEncode, jidNormalizedUser, S_WHATSAPP_NET, transferDevice } from '../WABinary/index.js';
9
+ import { areJidsSameUser, getBinaryNodeChild, getBinaryNodeChildren, isJidGroup, isPnUser, jidDecode, jidEncode, jidNormalizedUser, S_WHATSAPP_NET } from '../WABinary/index.js';
10
10
  import { USyncQuery, USyncUser } from '../WAUSync/index.js';
11
11
  import { makeNewsletterSocket } from './newsletter.js';
12
12
  export const makeMessagesSocket = (config) => {
@@ -148,26 +148,34 @@ export const makeMessagesSocket = (config) => {
148
148
  logger.debug('not using cache for devices');
149
149
  }
150
150
  const toFetch = [];
151
- // Deduplicate and normalize JIDs
152
151
  jids = deduplicateLidPnJids(Array.from(new Set(jids)));
153
- for (let jid of jids) {
152
+ const jidsWithUser = jids
153
+ .map(jid => {
154
154
  const decoded = jidDecode(jid);
155
155
  const user = decoded?.user;
156
156
  const device = decoded?.device;
157
157
  const isExplicitDevice = typeof device === 'number' && device >= 0;
158
- // Handle explicit device JIDs directly
159
158
  if (isExplicitDevice && user) {
160
159
  deviceResults.push({
161
160
  user,
162
161
  device,
163
- wireJid: jid // Preserve exact JID format for wire protocol
162
+ wireJid: jid // again this makes no sense
164
163
  });
165
- continue;
164
+ return null;
166
165
  }
167
- // For user JIDs, normalize and prepare for device enumeration
168
166
  jid = jidNormalizedUser(jid);
167
+ return { jid, user };
168
+ })
169
+ .filter(jid => jid !== null);
170
+ let mgetDevices;
171
+ if (useCache && userDevicesCache.mget) {
172
+ const usersToFetch = jidsWithUser.map(j => j?.user).filter(Boolean);
173
+ mgetDevices = await userDevicesCache.mget(usersToFetch);
174
+ }
175
+ for (const { jid, user } of jidsWithUser) {
169
176
  if (useCache) {
170
- const devices = userDevicesCache.get(user);
177
+ const devices = mgetDevices?.[user] ||
178
+ (userDevicesCache.mget ? undefined : (await userDevicesCache.get(user)));
171
179
  if (devices) {
172
180
  const isLidJid = jid.includes('@lid');
173
181
  const devicesWithWire = devices.map(d => ({
@@ -198,7 +206,7 @@ export const makeMessagesSocket = (config) => {
198
206
  }
199
207
  const query = new USyncQuery().withContext('message').withDeviceProtocol();
200
208
  for (const jid of toFetch) {
201
- query.withUser(new USyncUser().withId(jid));
209
+ query.withUser(new USyncUser().withId(jid)); // todo: investigate - the idea here is that <user> should have an inline lid field with the lid being the pn equivalent
202
210
  }
203
211
  const result = await sock.executeUSyncQuery(query);
204
212
  if (result) {
@@ -228,24 +236,19 @@ export const makeMessagesSocket = (config) => {
228
236
  }, 'Processed device with LID priority');
229
237
  }
230
238
  }
231
- for (const key in deviceMap) {
232
- userDevicesCache.set(key, deviceMap[key]);
239
+ if (userDevicesCache.mset) {
240
+ // if the cache supports mset, we can set all devices in one go
241
+ await userDevicesCache.mset(Object.entries(deviceMap).map(([key, value]) => ({ key, value })));
242
+ }
243
+ else {
244
+ for (const key in deviceMap) {
245
+ if (deviceMap[key])
246
+ await userDevicesCache.set(key, deviceMap[key]);
247
+ }
233
248
  }
234
249
  }
235
250
  return deviceResults;
236
251
  };
237
- // Helper to check if JID has migrated LID session
238
- const checkForMigratedLidSession = async (jid) => {
239
- if (!jid.includes('@s.whatsapp.net'))
240
- return false;
241
- const lidMapping = signalRepository.getLIDMappingStore();
242
- const lidForPN = await lidMapping.getLIDForPN(jid);
243
- if (!lidForPN?.includes('@lid'))
244
- return false;
245
- const lidSignalId = signalRepository.jidToSignalProtocolAddress(lidForPN);
246
- const lidSessions = await authState.keys.get('session', [lidSignalId]);
247
- return !!lidSessions[lidSignalId];
248
- };
249
252
  const assertSessions = async (jids, force) => {
250
253
  let didFetchNewSession = false;
251
254
  const jidsRequiringFetch = [];
@@ -255,18 +258,12 @@ export const makeMessagesSocket = (config) => {
255
258
  // Check which sessions are missing (with LID migration check)
256
259
  const addrs = jids.map(jid => signalRepository.jidToSignalProtocolAddress(jid));
257
260
  const sessions = await authState.keys.get('session', addrs);
258
- // Helper to check session for a JID
259
- const checkJidSession = async (jid) => {
261
+ // Simplified: Check session existence directly
262
+ const checkJidSession = (jid) => {
260
263
  const signalId = signalRepository.jidToSignalProtocolAddress(jid);
261
- let hasSession = !!sessions[signalId];
262
- // Check for migrated LID session if PN session missing
263
- if (!hasSession) {
264
- hasSession = await checkForMigratedLidSession(jid);
265
- if (hasSession) {
266
- logger.debug({ jid }, 'Found migrated LID session during force assert, skipping PN fetch');
267
- }
268
- }
264
+ const hasSession = !!sessions[signalId];
269
265
  // Add to fetch list if no session exists
266
+ // Session type selection (LID vs PN) is handled in encryptMessage
270
267
  if (!hasSession) {
271
268
  if (jid.includes('@lid')) {
272
269
  logger.debug({ jid }, 'No LID session found, will create new LID session');
@@ -276,11 +273,10 @@ export const makeMessagesSocket = (config) => {
276
273
  };
277
274
  // Process all JIDs
278
275
  for (const jid of jids) {
279
- await checkJidSession(jid);
276
+ checkJidSession(jid);
280
277
  }
281
278
  }
282
279
  else {
283
- const lidMapping = signalRepository.getLIDMappingStore();
284
280
  const addrs = jids.map(jid => signalRepository.jidToSignalProtocolAddress(jid));
285
281
  const sessions = await authState.keys.get('session', addrs);
286
282
  // Group JIDs by user for bulk migration
@@ -298,7 +294,9 @@ export const makeMessagesSocket = (config) => {
298
294
  return { shouldMigrate: false, lidForPN: undefined };
299
295
  }
300
296
  try {
301
- const mapping = await lidMapping.getLIDForPN(user);
297
+ // Convert user to proper PN JID format for getLIDForPN
298
+ const pnJid = `${user}@s.whatsapp.net`;
299
+ const mapping = await signalRepository.lidMapping.getLIDForPN(pnJid);
302
300
  if (mapping?.includes('@lid')) {
303
301
  logger.debug({ user, lidForPN: mapping, deviceCount: userJids.length }, 'User has LID mapping - preparing bulk migration');
304
302
  return { shouldMigrate: true, lidForPN: mapping };
@@ -309,27 +307,6 @@ export const makeMessagesSocket = (config) => {
309
307
  }
310
308
  return { shouldMigrate: false, lidForPN: undefined };
311
309
  };
312
- // Helper to migrate a single device
313
- const migrateDeviceToLid = async (jid, lidForPN) => {
314
- if (!jid.includes('@s.whatsapp.net'))
315
- return;
316
- try {
317
- const lidWithDevice = transferDevice(jid, lidForPN);
318
- await signalRepository.migrateSession(jid, lidWithDevice);
319
- logger.debug({ fromJid: jid, toJid: lidWithDevice }, 'Migrated device session to LID');
320
- // Delete PN session after successful migration
321
- try {
322
- await signalRepository.deleteSession(jid);
323
- logger.debug({ deletedPNSession: jid }, 'Deleted PN session after migration');
324
- }
325
- catch (deleteError) {
326
- logger.warn({ jid, error: deleteError }, 'Failed to delete PN session');
327
- }
328
- }
329
- catch (migrationError) {
330
- logger.warn({ jid, error: migrationError }, 'Failed to migrate device session');
331
- }
332
- };
333
310
  // Process each user group for potential bulk LID migration
334
311
  for (const [user, userJids] of userGroups) {
335
312
  const mappingResult = await checkUserLidMapping(user, userJids);
@@ -337,46 +314,44 @@ export const makeMessagesSocket = (config) => {
337
314
  const lidForPN = mappingResult.lidForPN;
338
315
  // Migrate all devices for this user if LID mapping exists
339
316
  if (shouldMigrateUser && lidForPN) {
340
- // Migrate each device individually
341
- for (const jid of userJids) {
342
- await migrateDeviceToLid(jid, lidForPN);
317
+ // Bulk migrate all user devices in single transaction
318
+ const migrationResult = await signalRepository.migrateSession(userJids, lidForPN);
319
+ if (migrationResult.migrated > 0) {
320
+ logger.info({
321
+ user,
322
+ lidMapping: lidForPN,
323
+ migrated: migrationResult.migrated,
324
+ skipped: migrationResult.skipped,
325
+ total: migrationResult.total
326
+ }, 'Completed bulk migration for user devices');
327
+ }
328
+ else {
329
+ logger.debug({
330
+ user,
331
+ lidMapping: lidForPN,
332
+ skipped: migrationResult.skipped,
333
+ total: migrationResult.total
334
+ }, 'All user device sessions already migrated');
343
335
  }
344
- logger.info({
345
- user,
346
- lidMapping: lidForPN,
347
- deviceCount: userJids.length
348
- }, 'Completed migration attempt for user devices');
349
336
  }
350
- // Helper to check session for migrated user
351
- const checkMigratedSession = async (jid) => {
337
+ // Direct bulk session check with LID single source of truth
338
+ const addMissingSessionsToFetchList = (jid) => {
352
339
  const signalId = signalRepository.jidToSignalProtocolAddress(jid);
353
- let hasSession = !!sessions[signalId];
354
- let jidToFetch = jid;
355
- // Check if we should use migrated LID session instead
356
- if (shouldMigrateUser && lidForPN && jid.includes('@s.whatsapp.net')) {
357
- const originalDecoded = jidDecode(jid);
358
- const deviceId = originalDecoded?.device || 0;
359
- const lidDecoded = jidDecode(lidForPN);
360
- const lidWithDevice = jidEncode(lidDecoded?.user, 'lid', deviceId);
361
- // Check if LID session exists
362
- const lidSignalId = signalRepository.jidToSignalProtocolAddress(lidWithDevice);
363
- const lidSessions = await authState.keys.get('session', [lidSignalId]);
364
- hasSession = !!lidSessions[lidSignalId];
365
- jidToFetch = lidWithDevice;
366
- if (hasSession) {
367
- logger.debug({ originalJid: jid, lidJid: lidWithDevice }, '✅ Found bulk-migrated LID session');
368
- }
340
+ if (sessions[signalId])
341
+ return;
342
+ // Determine correct JID to fetch (LID if mapping exists, otherwise original)
343
+ if (jid.includes('@s.whatsapp.net') && shouldMigrateUser && lidForPN) {
344
+ const decoded = jidDecode(jid);
345
+ const lidDeviceJid = decoded.device !== undefined ? `${jidDecode(lidForPN).user}:${decoded.device}@lid` : lidForPN;
346
+ jidsRequiringFetch.push(lidDeviceJid);
347
+ logger.debug({ pnJid: jid, lidJid: lidDeviceJid }, 'Adding LID JID to fetch list (conversion)');
369
348
  }
370
- // Add to fetch list if no session exists
371
- if (!hasSession) {
372
- jidsRequiringFetch.push(jidToFetch);
373
- logger.debug({ jid: jidToFetch, originalJid: jid !== jidToFetch ? jid : undefined }, 'Adding to session fetch list');
349
+ else {
350
+ jidsRequiringFetch.push(jid);
351
+ logger.debug({ jid }, 'Adding JID to fetch list');
374
352
  }
375
353
  };
376
- // Now check which sessions need to be fetched for this user
377
- for (const jid of userJids) {
378
- await checkMigratedSession(jid);
379
- }
354
+ userJids.forEach(addMissingSessionsToFetchList);
380
355
  }
381
356
  }
382
357
  if (jidsRequiringFetch.length) {
@@ -480,8 +455,7 @@ export const makeMessagesSocket = (config) => {
480
455
  if (!wireJid.includes('@s.whatsapp.net'))
481
456
  return wireJid;
482
457
  try {
483
- const lidMapping = signalRepository.getLIDMappingStore();
484
- const lidForPN = await lidMapping.getLIDForPN(wireJid);
458
+ const lidForPN = await signalRepository.lidMapping.getLIDForPN(wireJid);
485
459
  if (!lidForPN?.includes('@lid'))
486
460
  return wireJid;
487
461
  // Preserve device ID from original wire JID
@@ -491,15 +465,17 @@ export const makeMessagesSocket = (config) => {
491
465
  const lidWithDevice = jidEncode(lidDecoded?.user, 'lid', deviceId);
492
466
  // Migrate session to LID for unified encryption layer
493
467
  try {
494
- await signalRepository.migrateSession(wireJid, lidWithDevice);
468
+ const migrationResult = await signalRepository.migrateSession([wireJid], lidWithDevice);
495
469
  const recipientUser = jidNormalizedUser(wireJid);
496
470
  const ownPnUser = jidNormalizedUser(meId);
497
471
  const isOwnDevice = recipientUser === ownPnUser;
498
472
  logger.info({ wireJid, lidWithDevice, isOwnDevice }, 'Migrated to LID encryption');
499
473
  // Delete PN session after successful migration
500
474
  try {
501
- await signalRepository.deleteSession(wireJid);
502
- logger.debug({ deletedPNSession: wireJid }, 'Deleted PN session');
475
+ if (migrationResult.migrated) {
476
+ await signalRepository.deleteSession([wireJid]);
477
+ logger.debug({ deletedPNSession: wireJid }, 'Deleted PN session');
478
+ }
503
479
  }
504
480
  catch (deleteError) {
505
481
  logger.warn({ wireJid, error: deleteError }, 'Failed to delete PN session');
@@ -583,6 +559,7 @@ export const makeMessagesSocket = (config) => {
583
559
  // Keep user's original JID choice for envelope addressing
584
560
  const finalJid = jid;
585
561
  // ADDRESSING CONSISTENCY: Match own identity to conversation context
562
+ // TODO: investigate if this is true
586
563
  let ownId = meId;
587
564
  if (isLid && meLid) {
588
565
  ownId = meLid;
@@ -613,7 +590,7 @@ export const makeMessagesSocket = (config) => {
613
590
  if (!isGroup && !isStatus) {
614
591
  additionalAttributes = { ...additionalAttributes, device_fanout: 'false' };
615
592
  }
616
- const { user, device } = jidDecode(participant.jid);
593
+ const { user, device } = jidDecode(participant.jid); // rajeh: how does this even make sense TODO check out
617
594
  devices.push({
618
595
  user,
619
596
  device,
@@ -649,12 +626,12 @@ export const makeMessagesSocket = (config) => {
649
626
  return;
650
627
  }
651
628
  if (normalizeMessageContent(message)?.pinInChatMessage) {
652
- extraAttrs['decrypt-fail'] = 'hide';
629
+ extraAttrs['decrypt-fail'] = 'hide'; // todo: expand for reactions and other types
653
630
  }
654
631
  if (isGroup || isStatus) {
655
632
  const [groupData, senderKeyMap] = await Promise.all([
656
633
  (async () => {
657
- let groupData = useCachedGroupMetadata && cachedGroupMetadata ? await cachedGroupMetadata(jid) : undefined;
634
+ let groupData = useCachedGroupMetadata && cachedGroupMetadata ? await cachedGroupMetadata(jid) : undefined; // todo: should we rely on the cache specially if the cache is outdated and the metadata has new fields?
658
635
  if (groupData && Array.isArray(groupData?.participants)) {
659
636
  logger.trace({ jid, participants: groupData.participants.length }, 'using cached group metadata');
660
637
  }
@@ -665,7 +642,7 @@ export const makeMessagesSocket = (config) => {
665
642
  })(),
666
643
  (async () => {
667
644
  if (!participant && !isStatus) {
668
- const result = await authState.keys.get('sender-key-memory', [jid]);
645
+ const result = await authState.keys.get('sender-key-memory', [jid]); // TODO: check out what if the sender key memory doesn't include the LID stuff now?
669
646
  return result[jid] || {};
670
647
  }
671
648
  return {};
@@ -798,6 +775,9 @@ export const makeMessagesSocket = (config) => {
798
775
  ]);
799
776
  participants.push(...meNodes);
800
777
  participants.push(...otherNodes);
778
+ if (meJids.length > 0 || otherJids.length > 0) {
779
+ extraAttrs['phash'] = generateParticipantHashV2([...meJids, ...otherJids]);
780
+ }
801
781
  shouldIncludeDeviceIdentity = shouldIncludeDeviceIdentity || s1 || s2;
802
782
  }
803
783
  if (participants.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"messages-send.js","sourceRoot":"","sources":["../../src/Socket/messages-send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-send.js","sourceRoot":"","sources":["../../src/Socket/messages-send.ts"],"names":[],"mappings":"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"}
@@ -120,7 +120,7 @@ export declare const makeNewsletterSocket: (config: SocketConfig) => {
120
120
  creds: import("../index.js").AuthenticationCreds;
121
121
  keys: import("../index.js").SignalKeyStoreWithTransaction;
122
122
  };
123
- signalRepository: import("../index.js").SignalRepository;
123
+ signalRepository: import("../index.js").SignalRepositoryWithLIDStore;
124
124
  user: import("../index.js").Contact | undefined;
125
125
  generateMessageTag: () => string;
126
126
  query: (node: import("../index.js").BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -23,7 +23,7 @@ export declare const makeSocket: (config: SocketConfig) => {
23
23
  creds: import("../Types/index.js").AuthenticationCreds;
24
24
  keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
25
25
  };
26
- signalRepository: import("../Types/index.js").SignalRepository;
26
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
27
27
  readonly user: import("../Types/index.js").Contact | undefined;
28
28
  generateMessageTag: () => string;
29
29
  query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAcjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAqB5C,OAAO,EAEN,KAAK,UAAU,EAQf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,YAAY;UAy3B/B,IAAI;;;;;0DAz2BF,GAAG,0BAA0B,GAAG;;;;;;;;;;;kBA4GtB,UAAU,cAAc,MAAM;qBA3C3B,CAAC,SAAS,MAAM;;2BA/BV,UAAU,GAAG,MAAM;sBAiB9B,UAAU;mBAigBP,MAAM;iBApGd,KAAK,GAAG,SAAS;6BA7OL,KAAK,GAAG,IAAI,OAAO,MAAM;;;sCA2WV,MAAM,sBAAsB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;IA+SlG,sDAAsD;;+BAvOrB,MAAM;oCArhBK,UAAU;0BAyDpB,MAAM,EAAE;;gBAuBsB,OAAO;aAAc,MAAM;;CAkrB5F,CAAA"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/Socket/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAcjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAqB5C,OAAO,EAEN,KAAK,UAAU,EAQf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,GAAI,QAAQ,YAAY;UAw3B/B,IAAI;;;;;0DAx2BF,GAAG,0BAA0B,GAAG;;;;;;;;;;;kBA4GtB,UAAU,cAAc,MAAM;qBA3C3B,CAAC,SAAS,MAAM;;2BA/BV,UAAU,GAAG,MAAM;sBAiB9B,UAAU;mBAggBP,MAAM;iBApGd,KAAK,GAAG,SAAS;6BA7OL,KAAK,GAAG,IAAI,OAAO,MAAM;;;sCA2WV,MAAM,sBAAsB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;IA+SlG,sDAAsD;;+BAvOrB,MAAM;oCAphBK,UAAU;0BAyDpB,MAAM,EAAE;;gBAsBsB,OAAO;aAAc,MAAM;;CAkrB5F,CAAA"}
@@ -188,10 +188,9 @@ export const makeSocket = (config) => {
188
188
  }
189
189
  const results = await executeUSyncQuery(usyncQuery);
190
190
  if (results) {
191
- if (results.list.filter(a => a.lid).length > 0) {
192
- const lidMapping = signalRepository.getLIDMappingStore();
193
- const lidOnly = results.list.filter(a => a.lid);
194
- await lidMapping.storeLIDPNMappings(lidOnly.map(a => ({ pn: a.id, lid: a.lid })));
191
+ if (results.list.filter(a => !!a.lid).length > 0) {
192
+ const lidOnly = results.list.filter(a => !!a.lid);
193
+ await signalRepository.lidMapping.storeLIDPNMappings(lidOnly.map(a => ({ pn: a.id, lid: a.lid })));
195
194
  }
196
195
  return results.list
197
196
  .filter(a => !!a.contact)
@@ -687,9 +686,9 @@ export const makeSocket = (config) => {
687
686
  try {
688
687
  const myPN = authState.creds.me.id;
689
688
  // Store our own LID-PN mapping
690
- await signalRepository.storeLIDPNMapping(myLID, myPN);
689
+ await signalRepository.lidMapping.storeLIDPNMappings([{ lid: myLID, pn: myPN }]);
691
690
  // Create LID session for ourselves (whatsmeow pattern)
692
- await signalRepository.migrateSession(myPN, myLID);
691
+ await signalRepository.migrateSession([myPN], myLID);
693
692
  logger.info({ myPN, myLID }, 'Own LID session created successfully');
694
693
  }
695
694
  catch (error) {