@periskope/baileys 7.0.0-alpha-4 → 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 (50) hide show
  1. package/lib/Signal/libsignal.d.ts +2 -2
  2. package/lib/Signal/libsignal.d.ts.map +1 -1
  3. package/lib/Signal/libsignal.js +71 -58
  4. package/lib/Signal/libsignal.js.map +1 -1
  5. package/lib/Signal/lid-mapping.d.ts +1 -4
  6. package/lib/Signal/lid-mapping.d.ts.map +1 -1
  7. package/lib/Signal/lid-mapping.js +59 -22
  8. package/lib/Signal/lid-mapping.js.map +1 -1
  9. package/lib/Socket/business.d.ts +1 -1
  10. package/lib/Socket/chats.d.ts +1 -1
  11. package/lib/Socket/communities.d.ts +1 -1
  12. package/lib/Socket/groups.d.ts +1 -1
  13. package/lib/Socket/index.d.ts +1 -1
  14. package/lib/Socket/messages-recv.d.ts +1 -1
  15. package/lib/Socket/messages-recv.d.ts.map +1 -1
  16. package/lib/Socket/messages-recv.js +9 -6
  17. package/lib/Socket/messages-recv.js.map +1 -1
  18. package/lib/Socket/messages-send.d.ts +1 -1
  19. package/lib/Socket/messages-send.d.ts.map +1 -1
  20. package/lib/Socket/messages-send.js +58 -93
  21. package/lib/Socket/messages-send.js.map +1 -1
  22. package/lib/Socket/newsletter.d.ts +1 -1
  23. package/lib/Socket/socket.d.ts +1 -1
  24. package/lib/Socket/socket.d.ts.map +1 -1
  25. package/lib/Socket/socket.js +5 -6
  26. package/lib/Socket/socket.js.map +1 -1
  27. package/lib/Types/Signal.d.ts +9 -5
  28. package/lib/Types/Signal.d.ts.map +1 -1
  29. package/lib/Types/Socket.d.ts +2 -2
  30. package/lib/Types/Socket.d.ts.map +1 -1
  31. package/lib/Utils/decode-wa-message.d.ts +3 -2
  32. package/lib/Utils/decode-wa-message.d.ts.map +1 -1
  33. package/lib/Utils/decode-wa-message.js +2 -2
  34. package/lib/Utils/decode-wa-message.js.map +1 -1
  35. package/lib/Utils/generics.d.ts +1 -0
  36. package/lib/Utils/generics.d.ts.map +1 -1
  37. package/lib/Utils/generics.js +7 -0
  38. package/lib/Utils/generics.js.map +1 -1
  39. package/lib/Utils/process-message.d.ts +2 -2
  40. package/lib/Utils/process-message.d.ts.map +1 -1
  41. package/lib/Utils/process-message.js +1 -2
  42. package/lib/Utils/process-message.js.map +1 -1
  43. package/lib/Utils/signal.d.ts +2 -2
  44. package/lib/Utils/signal.d.ts.map +1 -1
  45. package/lib/Utils/signal.js.map +1 -1
  46. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +2 -1
  47. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts.map +1 -1
  48. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +10 -2
  49. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import type { SignalAuthState } from '../Types/index.js';
2
- import type { SignalRepository } from '../Types/Signal.js';
2
+ import type { SignalRepositoryWithLIDStore } from '../Types/Signal.js';
3
3
  export declare function makeLibSignalRepository(auth: SignalAuthState, onWhatsAppFunc?: (...jids: string[]) => Promise<{
4
4
  jid: string;
5
5
  exists: boolean;
6
6
  lid: string;
7
- }[] | undefined>): SignalRepository;
7
+ }[] | undefined>): SignalRepositoryWithLIDStore;
8
8
  //# sourceMappingURL=libsignal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libsignal.d.ts","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,UAAU,CAAA;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AASvD,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,eAAe,EACrB,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAC5C;IACA,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACV,EAAE,GACH,SAAS,CACX,GACC,gBAAgB,CAqQlB"}
1
+ {"version":3,"file":"libsignal.d.ts","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,UAAU,CAAA;AAC9E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AASnE,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,eAAe,EACrB,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAC5C;IACA,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACV,EAAE,GACH,SAAS,CACX,GACC,4BAA4B,CAoR9B"}
@@ -1,7 +1,7 @@
1
+ /* @ts-ignore */
1
2
  import * as libsignal from 'libsignal';
2
- import { LRUCache } from 'lru-cache';
3
3
  import { generateSignalPubKey } from '../Utils/index.js';
4
- import { jidDecode } from '../WABinary/index.js';
4
+ import { jidDecode, transferDevice } from '../WABinary/index.js';
5
5
  import { SenderKeyName } from './Group/sender-key-name.js';
6
6
  import { SenderKeyRecord } from './Group/sender-key-record.js';
7
7
  import { GroupCipher, GroupSessionBuilder, SenderKeyDistributionMessage } from './Group/index.js';
@@ -18,11 +18,6 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
18
18
  key.includes('@broadcast') || // Broadcast messages
19
19
  key.includes('@newsletter'));
20
20
  }
21
- // Simple operation-level deduplication (5 minutes)
22
- const recentMigrations = new LRUCache({
23
- max: 500,
24
- ttl: 5 * 60 * 1000
25
- });
26
21
  const repository = {
27
22
  decryptGroupMessage({ group, authorJid, msg }) {
28
23
  const senderName = jidToSignalSenderKeyName(group, authorJid);
@@ -97,7 +92,7 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
97
92
  const { [pnAddr.toString()]: pnSession } = await auth.keys.get('session', [pnAddr.toString()]);
98
93
  if (pnSession) {
99
94
  // Migrate PN to LID
100
- await repository.migrateSession(jid, lidForPN);
95
+ await repository.migrateSession([jid], lidForPN);
101
96
  encryptionJid = lidForPN;
102
97
  }
103
98
  }
@@ -139,12 +134,8 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
139
134
  jidToSignalProtocolAddress(jid) {
140
135
  return jidToSignalProtocolAddress(jid).toString();
141
136
  },
142
- async storeLIDPNMapping(lid, pn) {
143
- await lidMapping.storeLIDPNMapping(lid, pn);
144
- },
145
- getLIDMappingStore() {
146
- return lidMapping;
147
- },
137
+ // Optimized direct access to LID mapping store
138
+ lidMapping,
148
139
  async validateSession(jid) {
149
140
  try {
150
141
  const addr = jidToSignalProtocolAddress(jid);
@@ -161,58 +152,77 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
161
152
  return { exists: false, reason: 'validation error' };
162
153
  }
163
154
  },
164
- async deleteSession(jid) {
165
- const addr = jidToSignalProtocolAddress(jid);
155
+ async deleteSession(jids) {
156
+ if (!jids.length)
157
+ return;
158
+ // Convert JIDs to signal addresses and prepare for bulk deletion
159
+ const sessionUpdates = {};
160
+ jids.forEach(jid => {
161
+ const addr = jidToSignalProtocolAddress(jid);
162
+ sessionUpdates[addr.toString()] = null;
163
+ });
164
+ // Single transaction for all deletions
166
165
  return parsedKeys.transaction(async () => {
167
- await auth.keys.set({ session: { [addr.toString()]: null } });
168
- }, jid);
166
+ await auth.keys.set({ session: sessionUpdates });
167
+ }, `delete-${jids.length}-sessions`);
169
168
  },
170
- async migrateSession(fromJid, toJid) {
171
- // Only migrate PN → LID
172
- if (!fromJid.includes('@s.whatsapp.net') || !toJid.includes('@lid')) {
173
- return;
174
- }
175
- const fromDecoded = jidDecode(fromJid);
176
- const toDecoded = jidDecode(toJid);
177
- if (!fromDecoded || !toDecoded)
178
- return;
179
- const deviceId = fromDecoded.device || 0;
180
- const migrationKey = `${fromDecoded.user}.${deviceId}→${toDecoded.user}.${deviceId}`;
181
- // Check if recently migrated (5 min window)
182
- if (recentMigrations.has(migrationKey)) {
183
- return;
184
- }
185
- // Check if LID session already exists
186
- const lidAddr = jidToSignalProtocolAddress(toJid);
187
- const { [lidAddr.toString()]: lidExists } = await auth.keys.get('session', [lidAddr.toString()]);
188
- if (lidExists) {
189
- recentMigrations.set(migrationKey, true);
190
- return;
191
- }
169
+ async migrateSession(fromJids, toJid) {
170
+ if (!fromJids.length || !toJid.includes('@lid'))
171
+ return { migrated: 0, skipped: 0, total: 0 };
172
+ // Filter valid PN JIDs
173
+ const validJids = fromJids.filter(jid => jid.includes('@s.whatsapp.net'));
174
+ if (!validJids.length)
175
+ return { migrated: 0, skipped: 0, total: fromJids.length };
176
+ // Single optimized transaction for all migrations
192
177
  return parsedKeys.transaction(async () => {
193
- // Store mapping
194
- await lidMapping.storeLIDPNMapping(toJid, fromJid);
195
- // Load and copy session
196
- const fromAddr = jidToSignalProtocolAddress(fromJid);
197
- const fromSession = await storage.loadSession(fromAddr.toString());
198
- if (fromSession?.haveOpenSession()) {
199
- // Deep copy session to prevent reference issues
200
- const sessionBytes = fromSession.serialize();
201
- const copiedSession = libsignal.SessionRecord.deserialize(sessionBytes);
202
- // Store at LID address
203
- await storage.storeSession(lidAddr.toString(), copiedSession);
204
- // Delete PN session - maintain single encryption layer
205
- await auth.keys.set({ session: { [fromAddr.toString()]: null } });
178
+ // 1. Batch store all LID mappings
179
+ const mappings = validJids.map(jid => ({
180
+ lid: transferDevice(jid, toJid),
181
+ pn: jid
182
+ }));
183
+ await lidMapping.storeLIDPNMappings(mappings);
184
+ // 2. Prepare migration operations
185
+ const migrationOps = validJids.map(jid => {
186
+ const lidWithDevice = transferDevice(jid, toJid);
187
+ const fromDecoded = jidDecode(jid);
188
+ const toDecoded = jidDecode(lidWithDevice);
189
+ return {
190
+ fromJid: jid,
191
+ toJid: lidWithDevice,
192
+ pnUser: fromDecoded.user,
193
+ lidUser: toDecoded.user,
194
+ deviceId: fromDecoded.device || 0,
195
+ fromAddr: jidToSignalProtocolAddress(jid),
196
+ toAddr: jidToSignalProtocolAddress(lidWithDevice)
197
+ };
198
+ });
199
+ // 3. Batch check which LID sessions already exist
200
+ const lidAddrs = migrationOps.map(op => op.toAddr.toString());
201
+ const existingSessions = await auth.keys.get('session', lidAddrs);
202
+ // 4. Filter out sessions that already have LID sessions
203
+ const opsToMigrate = migrationOps.filter(op => !existingSessions[op.toAddr.toString()]);
204
+ const skippedCount = migrationOps.length - opsToMigrate.length;
205
+ if (!opsToMigrate.length) {
206
+ return { migrated: 0, skipped: skippedCount, total: validJids.length };
206
207
  }
207
- recentMigrations.set(migrationKey, true);
208
- }, fromJid);
208
+ // 5. Execute all migrations in parallel
209
+ await Promise.all(opsToMigrate.map(async (op) => {
210
+ const fromSession = await storage.loadSession(op.fromAddr.toString());
211
+ if (fromSession?.haveOpenSession()) {
212
+ // Copy session to LID address
213
+ const sessionBytes = fromSession.serialize();
214
+ const copiedSession = libsignal.SessionRecord.deserialize(sessionBytes);
215
+ await storage.storeSession(op.toAddr.toString(), copiedSession);
216
+ // Delete PN session
217
+ await auth.keys.set({ session: { [op.fromAddr.toString()]: null } });
218
+ }
219
+ }));
220
+ return { migrated: opsToMigrate.length, skipped: skippedCount, total: validJids.length };
221
+ }, `migrate-${validJids.length}-sessions-${jidDecode(toJid)?.user}`);
209
222
  },
210
223
  async encryptMessageWithWire({ encryptionJid, wireJid, data }) {
211
224
  const result = await repository.encryptMessage({ jid: encryptionJid, data });
212
225
  return { ...result, wireJid };
213
- },
214
- destroy() {
215
- recentMigrations.clear();
216
226
  }
217
227
  };
218
228
  return repository;
@@ -220,6 +230,9 @@ export function makeLibSignalRepository(auth, onWhatsAppFunc) {
220
230
  const jidToSignalProtocolAddress = (jid) => {
221
231
  const decoded = jidDecode(jid);
222
232
  const { user, device, server } = decoded;
233
+ if (!user) {
234
+ throw new Error(`JID decoded but user is empty: "${jid}" -> user: "${user}", server: "${server}", device: ${device}`);
235
+ }
223
236
  // LID addresses get _1 suffix for Signal protocol
224
237
  const signalUser = server === 'lid' ? `${user}_1` : user;
225
238
  const finalDevice = device || 0;
@@ -1 +1 @@
1
- {"version":3,"file":"libsignal.js","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libsignal.js","sourceRoot":"","sources":["../../src/Signal/libsignal.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { SignalKeyStoreWithTransaction } from '../Types/index.js';
2
2
  export declare class LIDMappingStore {
3
+ private readonly mappingCache;
3
4
  private readonly keys;
4
5
  private onWhatsAppFunc?;
5
6
  constructor(keys: SignalKeyStoreWithTransaction, onWhatsAppFunc?: (...jids: string[]) => Promise<{
@@ -7,10 +8,6 @@ export declare class LIDMappingStore {
7
8
  exists: boolean;
8
9
  lid: string;
9
10
  }[] | undefined>);
10
- /**
11
- * Store LID-PN mapping - USER LEVEL
12
- */
13
- storeLIDPNMapping(lid: string, pn: string): Promise<void>;
14
11
  /**
15
12
  * Store LID-PN mapping - USER LEVEL
16
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"lid-mapping.d.ts","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAK7D,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAC,CAOtB;gBAGA,IAAI,EAAE,6BAA6B,EACnC,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAC5C;QACA,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,OAAO,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;KACV,EAAE,GACH,SAAS,CACX;IAMF;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7E;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+BrD;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAwBtD"}
1
+ {"version":3,"file":"lid-mapping.d.ts","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAI7D,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;IACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAC,CAOtB;gBAGA,IAAI,EAAE,6BAA6B,EACnC,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAC5C;QACA,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,OAAO,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;KACV,EAAE,GACH,SAAS,CACX;IAMF;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D7E;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+CrD;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CA8BtD"}
@@ -1,17 +1,16 @@
1
+ import { LRUCache } from 'lru-cache';
1
2
  import logger from '../Utils/logger.js';
2
3
  import { isLidUser, isPnUser, jidDecode } from '../WABinary/index.js';
3
- //TODO: Caching
4
4
  export class LIDMappingStore {
5
5
  constructor(keys, onWhatsAppFunc) {
6
+ this.mappingCache = new LRUCache({
7
+ ttl: 7 * 24 * 60 * 60 * 1000, // 7 days
8
+ ttlAutopurge: true,
9
+ updateAgeOnGet: true
10
+ });
6
11
  this.keys = keys;
7
12
  this.onWhatsAppFunc = onWhatsAppFunc; // needed to get LID from PN if not found
8
13
  }
9
- /**
10
- * Store LID-PN mapping - USER LEVEL
11
- */
12
- async storeLIDPNMapping(lid, pn) {
13
- return this.storeLIDPNMappings([{ lid, pn }]);
14
- }
15
14
  /**
16
15
  * Store LID-PN mapping - USER LEVEL
17
16
  */
@@ -30,6 +29,22 @@ export class LIDMappingStore {
30
29
  return;
31
30
  const pnUser = pnDecoded.user;
32
31
  const lidUser = lidDecoded.user;
32
+ // Check if mapping already exists (cache first, then database)
33
+ let existingLidUser = this.mappingCache.get(`pn:${pnUser}`);
34
+ if (!existingLidUser) {
35
+ // Cache miss - check database
36
+ const stored = await this.keys.get('lid-mapping', [pnUser]);
37
+ existingLidUser = stored[pnUser];
38
+ if (existingLidUser) {
39
+ // Update cache with database value
40
+ this.mappingCache.set(`pn:${pnUser}`, existingLidUser);
41
+ this.mappingCache.set(`lid:${existingLidUser}`, pnUser);
42
+ }
43
+ }
44
+ if (existingLidUser === lidUser) {
45
+ logger.debug({ pnUser, lidUser }, 'LID mapping already exists, skipping');
46
+ continue;
47
+ }
33
48
  pairMap[pnUser] = lidUser;
34
49
  }
35
50
  logger.trace({ pairMap }, `Storing ${Object.keys(pairMap).length} pn mappings`);
@@ -41,6 +56,9 @@ export class LIDMappingStore {
41
56
  [`${lidUser}_reverse`]: pnUser // "102765716062358_reverse" -> "554396160286"
42
57
  }
43
58
  });
59
+ // Update cache with both directions
60
+ this.mappingCache.set(`pn:${pnUser}`, lidUser);
61
+ this.mappingCache.set(`lid:${lidUser}`, pnUser);
44
62
  }
45
63
  }, 'lid-mapping');
46
64
  }
@@ -53,22 +71,37 @@ export class LIDMappingStore {
53
71
  const decoded = jidDecode(pn);
54
72
  if (!decoded)
55
73
  return null;
56
- // Look up user-level mapping (whatsmeow approach)
74
+ // Check cache first for PN → LID mapping
57
75
  const pnUser = decoded.user;
58
- const stored = await this.keys.get('lid-mapping', [pnUser]);
59
- let lidUser = stored[pnUser];
76
+ let lidUser = this.mappingCache.get(`pn:${pnUser}`);
60
77
  if (!lidUser) {
61
- logger.trace(`No LID mapping found for PN user ${pnUser}; getting from USync`);
62
- const { exists, lid } = (await this.onWhatsAppFunc?.(pn))?.[0]; // this function already adds LIDs to mapping
63
- if (exists) {
64
- lidUser = jidDecode(lid)?.user;
78
+ // Cache miss - check database
79
+ const stored = await this.keys.get('lid-mapping', [pnUser]);
80
+ lidUser = stored[pnUser];
81
+ if (lidUser) {
82
+ // Cache the database result
83
+ this.mappingCache.set(`pn:${pnUser}`, lidUser);
65
84
  }
66
85
  else {
67
- return null;
86
+ // Not in database - try USync
87
+ logger.trace(`No LID mapping found for PN user ${pnUser}; getting from USync`);
88
+ const { exists, lid } = (await this.onWhatsAppFunc?.(pn))?.[0]; // this function already adds LIDs to mapping
89
+ if (exists && lid) {
90
+ lidUser = jidDecode(lid)?.user;
91
+ if (lidUser) {
92
+ // Cache the USync result
93
+ this.mappingCache.set(`pn:${pnUser}`, lidUser);
94
+ }
95
+ }
96
+ else {
97
+ return null;
98
+ }
68
99
  }
69
100
  }
70
- if (typeof lidUser !== 'string')
101
+ if (typeof lidUser !== 'string' || !lidUser) {
102
+ logger.warn(`Invalid or empty LID user for PN ${pn}: lidUser = "${lidUser}"`);
71
103
  return null;
104
+ }
72
105
  // Push the PN device ID to the LID to maintain device separation
73
106
  const pnDevice = decoded.device !== undefined ? decoded.device : 0;
74
107
  const deviceSpecificLid = `${lidUser}:${pnDevice}@lid`;
@@ -84,14 +117,18 @@ export class LIDMappingStore {
84
117
  const decoded = jidDecode(lid);
85
118
  if (!decoded)
86
119
  return null;
87
- // Look up reverse user mapping
120
+ // Check cache first for LID → PN mapping
88
121
  const lidUser = decoded.user;
89
- // TODO: remove this style and instead load all mappings somehow, and then assign them in the map
90
- const stored = await this.keys.get('lid-mapping', [`${lidUser}_reverse`]);
91
- const pnUser = stored[`${lidUser}_reverse`];
122
+ let pnUser = this.mappingCache.get(`lid:${lidUser}`);
92
123
  if (!pnUser || typeof pnUser !== 'string') {
93
- logger.trace(`No reverse mapping found for LID user: ${lidUser}`);
94
- return null;
124
+ // Cache miss - check database
125
+ const stored = await this.keys.get('lid-mapping', [`${lidUser}_reverse`]);
126
+ pnUser = stored[`${lidUser}_reverse`];
127
+ if (!pnUser || typeof pnUser !== 'string') {
128
+ logger.trace(`No reverse mapping found for LID user: ${lidUser}`);
129
+ return null;
130
+ }
131
+ this.mappingCache.set(`lid:${lidUser}`, pnUser);
95
132
  }
96
133
  // Construct device-specific PN JID
97
134
  const lidDevice = decoded.device !== undefined ? decoded.device : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"lid-mapping.js","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lid-mapping.js","sourceRoot":"","sources":["../../src/Signal/lid-mapping.ts"],"names":[],"mappings":"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"}
@@ -162,7 +162,7 @@ export declare const makeBusinessSocket: (config: SocketConfig) => {
162
162
  creds: import("../index.js").AuthenticationCreds;
163
163
  keys: import("../index.js").SignalKeyStoreWithTransaction;
164
164
  };
165
- signalRepository: import("../index.js").SignalRepository;
165
+ signalRepository: import("../index.js").SignalRepositoryWithLIDStore;
166
166
  user: import("../index.js").Contact | undefined;
167
167
  generateMessageTag: () => string;
168
168
  query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -72,7 +72,7 @@ export declare const makeChatsSocket: (config: SocketConfig) => {
72
72
  creds: import("../Types/index.js").AuthenticationCreds;
73
73
  keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
74
74
  };
75
- signalRepository: import("../Types/index.js").SignalRepository;
75
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
76
76
  user: import("../Types/index.js").Contact | undefined;
77
77
  generateMessageTag: () => string;
78
78
  query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -206,7 +206,7 @@ export declare const makeCommunitiesSocket: (config: SocketConfig) => {
206
206
  creds: import("../Types/index.js").AuthenticationCreds;
207
207
  keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
208
208
  };
209
- signalRepository: import("../Types/index.js").SignalRepository;
209
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
210
210
  user: import("../Types/index.js").Contact | undefined;
211
211
  generateMessageTag: () => string;
212
212
  query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -109,7 +109,7 @@ export declare const makeGroupsSocket: (config: SocketConfig) => {
109
109
  creds: import("../Types/index.js").AuthenticationCreds;
110
110
  keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
111
111
  };
112
- signalRepository: import("../Types/index.js").SignalRepository;
112
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
113
113
  user: import("../Types/index.js").Contact | undefined;
114
114
  generateMessageTag: () => string;
115
115
  query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -193,7 +193,7 @@ declare const makeWASocket: (config: UserFacingSocketConfig) => {
193
193
  creds: import("../index.js").AuthenticationCreds;
194
194
  keys: import("../index.js").SignalKeyStoreWithTransaction;
195
195
  };
196
- signalRepository: import("../index.js").SignalRepository;
196
+ signalRepository: import("../index.js").SignalRepositoryWithLIDStore;
197
197
  user: import("../index.js").Contact | undefined;
198
198
  generateMessageTag: () => string;
199
199
  query: (node: import("../index.js").BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -147,7 +147,7 @@ export declare const makeMessagesRecvSocket: (config: SocketConfig) => {
147
147
  creds: import("../Types/index.js").AuthenticationCreds;
148
148
  keys: import("../Types/index.js").SignalKeyStoreWithTransaction;
149
149
  };
150
- signalRepository: import("../Types/index.js").SignalRepository;
150
+ signalRepository: import("../Types/index.js").SignalRepositoryWithLIDStore;
151
151
  user: import("../Types/index.js").Contact | undefined;
152
152
  generateMessageTag: () => string;
153
153
  query: (node: BinaryNode, timeoutMs?: number) => Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"messages-recv.d.ts","sourceRoot":"","sources":["../../src/Socket/messages-recv.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,KAAK,EACX,kBAAkB,EAClB,mBAAmB,EAEnB,YAAY,EAGZ,YAAY,EAEZ,MAAM,UAAU,CAAA;AA2BjB,OAAO,EAEN,KAAK,UAAU,EAYf,MAAM,aAAa,CAAA;AAIpB,eAAO,MAAM,sBAAsB,GAAI,QAAQ,YAAY;8CAqQH,UAAU,cAAc,MAAM;6BAmF/C,UAAU;yBAtBd,MAAM,YAAY,MAAM;iCAjRlD,MAAM,gBACC,YAAY,sBACN,MAAM,GAAG,IAAI,KAC/B,OAAO,CAAC,MAAM,CAAC;2CAmBkC,YAAY,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+oB1F,CADwC;;;;;;;;;0DA9sB3C,GAAE,0BAED,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAq+CL,CAAA"}
1
+ {"version":3,"file":"messages-recv.d.ts","sourceRoot":"","sources":["../../src/Socket/messages-recv.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,OAAO,KAAK,EACX,kBAAkB,EAClB,mBAAmB,EAEnB,YAAY,EAGZ,YAAY,EAEZ,MAAM,UAAU,CAAA;AA2BjB,OAAO,EAEN,KAAK,UAAU,EAYf,MAAM,aAAa,CAAA;AAIpB,eAAO,MAAM,sBAAsB,GAAI,QAAQ,YAAY;8CAqQH,UAAU,cAAc,MAAM;6BAmF/C,UAAU;yBAtBd,MAAM,YAAY,MAAM;iCAjRlD,MAAM,gBACC,YAAY,sBACN,MAAM,GAAG,IAAI,KAC/B,OAAO,CAAC,MAAM,CAAC;2CAmBkC,YAAY,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA+oB1F,CADwC;;;;;;;;;0DA9sB3C,GAAE,0BAED,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAw+CL,CAAA"}
@@ -972,21 +972,24 @@ export const makeMessagesRecvSocket = (config) => {
972
972
  node.attrs.sender_pn) {
973
973
  const lid = jidNormalizedUser(node.attrs.from), pn = jidNormalizedUser(node.attrs.sender_pn);
974
974
  ev.emit('lid-mapping.update', { lid, pn });
975
- await signalRepository.storeLIDPNMapping(lid, pn);
975
+ await signalRepository.lidMapping.storeLIDPNMappings([{ lid, pn }]);
976
976
  }
977
977
  const alt = msg.key.participantAlt || msg.key.remoteJidAlt;
978
978
  // store new mappings we didn't have before
979
979
  if (!!alt) {
980
980
  const altServer = jidDecode(alt)?.server;
981
- const lidMapping = signalRepository.getLIDMappingStore();
982
981
  if (altServer === 'lid') {
983
- if (typeof (await lidMapping.getPNForLID(alt)) === 'string') {
984
- await lidMapping.storeLIDPNMapping(alt, msg.key.participant || msg.key.remoteJid);
982
+ if (typeof (await signalRepository.lidMapping.getPNForLID(alt)) === 'string') {
983
+ await signalRepository.lidMapping.storeLIDPNMappings([
984
+ { lid: alt, pn: msg.key.participant || msg.key.remoteJid }
985
+ ]);
985
986
  }
986
987
  }
987
988
  else {
988
- if (typeof (await lidMapping.getLIDForPN(alt)) === 'string') {
989
- await lidMapping.storeLIDPNMapping(msg.key.participant || msg.key.remoteJid, alt);
989
+ if (typeof (await signalRepository.lidMapping.getLIDForPN(alt)) === 'string') {
990
+ await signalRepository.lidMapping.storeLIDPNMappings([
991
+ { lid: msg.key.participant || msg.key.remoteJid, pn: alt }
992
+ ]);
990
993
  }
991
994
  }
992
995
  }