amiudmodz 5.0.5 → 5.0.7

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.
@@ -141,7 +141,7 @@ exports.MEDIA_HKDF_KEY_MAPPING = {
141
141
  exports.MEDIA_KEYS = Object.keys(exports.MEDIA_PATH_MAP);
142
142
  exports.MIN_PREKEY_COUNT = 5;
143
143
  exports.INITIAL_PREKEY_COUNT = 30;
144
- exports.UPLOAD_TIMEOUT = 7200000; // 2 hours in ms
144
+ exports.UPLOAD_TIMEOUT = 7200000;
145
145
  exports.MIN_UPLOAD_INTERVAL = 5000;
146
146
 
147
147
  exports.TimeMs = {
@@ -22,7 +22,7 @@ class WebSocketClient extends abstract_socket_client_1.AbstractSocketClient {
22
22
  }
23
23
  get isClosing() {
24
24
  var _a;
25
- // Only report closing when socket exists and is in CLOSING state
25
+
26
26
  return this.socket !== null && ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === ws_1.default.CLOSING;
27
27
  }
28
28
  get isConnecting() {
@@ -55,10 +55,10 @@ class WebSocketClient extends abstract_socket_client_1.AbstractSocketClient {
55
55
  return;
56
56
  }
57
57
  const socketToClose = this.socket;
58
- this.socket = null; // Immediately null to prevent double-close
58
+ this.socket = null;
59
59
  const closePromise = new Promise((resolve) => {
60
60
  socketToClose.once('close', resolve);
61
- // Fallback timeout in case 'close' event never fires
61
+
62
62
  setTimeout(resolve, 5000);
63
63
  });
64
64
  socketToClose.close();
@@ -355,7 +355,7 @@ const makeChatsSocket = (config) => {
355
355
  status: error
356
356
  });
357
357
  }
358
- // Small delay to avoid hammering the server
358
+
359
359
  await (0, Utils_1.delay)(50);
360
360
  }
361
361
  return verifiedResults;
@@ -378,7 +378,7 @@ const makeSocket = (config) => {
378
378
  }, PING_TIMEOUT_MS)
379
379
  .catch(err => {
380
380
  logger.error({ trace: err?.stack }, 'error in keep-alive ping');
381
- // If ping timed out, the connection is likely dead — force reconnect
381
+
382
382
  if (err?.output?.statusCode === Types_1.DisconnectReason.timedOut ||
383
383
  err?.message?.includes('timed out') ||
384
384
  err?.message?.includes('Connection Closed')) {
@@ -48,7 +48,7 @@ const makeEventBuffer = (logger) => {
48
48
  if (totalEvents > MAX_BUFFER_SIZE) {
49
49
  logger.warn({ totalEvents }, 'buffer too large, auto-flushing');
50
50
  flush(true);
51
- // After force-flush, start a fresh buffer count
51
+
52
52
  buffersInProgress = 1;
53
53
  } else {
54
54
  buffersInProgress += 1;
@@ -36,7 +36,7 @@ const makeKeyedMutex = () => {
36
36
  }
37
37
  const mtx = map.get(key);
38
38
  return mtx.mutex(task).finally(() => {
39
- // Only delete entry when no more pending tasks remain
39
+
40
40
  if (mtx.pendingCount === 0) {
41
41
  map.delete(key);
42
42
  }
@@ -402,11 +402,11 @@ const prepareStream = async (media, mediaType, { logger, saveOriginalFileIfRequi
402
402
  let didSaveToTmpPath = false;
403
403
  let fileLength = 0;
404
404
  const sha256 = Crypto.createHash('sha256');
405
-
406
- // Always save prepared data to a temp file for large files support and retries
405
+
406
+
407
407
  const preparedPath = (0, path_1.join)(getTmpFilesDirectory(), `prepared-${mediaType}-${(0, generics_1.generateMessageID)()}`);
408
408
  const preparedWriteStream = (0, fs_1.createWriteStream)(preparedPath);
409
-
409
+
410
410
  if (type === 'file') {
411
411
  bodyPath = media.url;
412
412
  } else if (saveOriginalFileIfRequired) {
@@ -435,7 +435,7 @@ const prepareStream = async (media, mediaType, { logger, saveOriginalFileIfRequi
435
435
 
436
436
  const fileSha256 = sha256.digest();
437
437
  logger === null || logger === void 0 ? void 0 : logger.debug('prepare stream data successfully');
438
-
438
+
439
439
  return {
440
440
  mediaKey: undefined,
441
441
  encWriteStream: (0, fs_1.createReadStream)(preparedPath),
@@ -453,7 +453,7 @@ const prepareStream = async (media, mediaType, { logger, saveOriginalFileIfRequi
453
453
  writeStream?.destroy();
454
454
  try {
455
455
  await fs_1.promises.unlink(preparedPath);
456
- } catch {}
456
+ } catch { }
457
457
  if (didSaveToTmpPath) {
458
458
  try {
459
459
  await fs_1.promises.unlink(bodyPath);
@@ -484,11 +484,11 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
484
484
  }
485
485
  const mediaKey = Crypto.randomBytes(32);
486
486
  const { cipherKey, iv, macKey } = getMediaKeys(mediaKey, mediaType);
487
-
488
- // Always save encrypted data to a temp file for 2GB support and retries
487
+
488
+
489
489
  const encPath = (0, path_1.join)(getTmpFilesDirectory(), `enc-${mediaType}-${(0, generics_1.generateMessageID)()}`);
490
490
  const encTempWriteStream = (0, fs_1.createWriteStream)(encPath);
491
-
491
+
492
492
  let bodyPath;
493
493
  let writeStream;
494
494
  let didSaveToTmpPath = false;
@@ -543,7 +543,7 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
543
543
 
544
544
  const fileSha256 = sha256Plain.digest();
545
545
  const fileEncSha256 = sha256Enc.digest();
546
-
546
+
547
547
  encTempWriteStream.end();
548
548
  writeStream === null || writeStream === void 0 ? void 0 : writeStream.end();
549
549
  finalStream.destroy();
@@ -571,7 +571,7 @@ const encryptedStream = async (media, mediaType, { logger, saveOriginalFileIfReq
571
571
  finalStream.destroy();
572
572
  try {
573
573
  await fs_1.promises.unlink(encPath);
574
- } catch {}
574
+ } catch { }
575
575
  if (didSaveToTmpPath) {
576
576
  try {
577
577
  await fs_1.promises.unlink(bodyPath);
@@ -718,9 +718,9 @@ const getWAUploadToServer = ({ customUploadHosts, fetchAgent, logger, options },
718
718
  logger.debug(`uploading to "${hostname}"`);
719
719
  const auth = encodeURIComponent(uploadInfo.auth);
720
720
  const url = `https://${hostname}${media}/${fileEncSha256B64}?auth=${auth}&token=${fileEncSha256B64}`;
721
-
722
- // Re-create stream if retrying and we have a path
723
- // This is essential for large files (2GB) as the first stream will be consumed
721
+
722
+
723
+
724
724
  const reqBody = streamPath ? createReadStream(streamPath) : stream;
725
725
 
726
726
  let result;
@@ -135,7 +135,7 @@ const makeNoiseHandler = ({ keyPair: { private: privateKey, public: publicKey },
135
135
  logger.trace(`recv ${newData.length} bytes, total recv ${inBytesLength} bytes`);
136
136
 
137
137
  while (inBytesLength >= 3) {
138
- // Only concat when necessary
138
+
139
139
  if (inChunks.length > 1) {
140
140
  const combined = Buffer.concat(inChunks);
141
141
  inChunks = [combined];
@@ -149,7 +149,7 @@ const makeNoiseHandler = ({ keyPair: { private: privateKey, public: publicKey },
149
149
  let frame = inBytes.subarray(3, size + 3);
150
150
 
151
151
  const remaining = inBytes.subarray(size + 3);
152
- // Reuse existing buffer reference when possible
152
+
153
153
  if (remaining.length > 0) {
154
154
  inChunks = [remaining];
155
155
  } else {
@@ -18,7 +18,7 @@ const useMultiFileAuthState = async (folder) => {
18
18
  return mutex;
19
19
  };
20
20
  const releaseFileLock = (path) => {
21
- // Clean up mutex if no more waiters to prevent memory leak
21
+
22
22
  const mutex = fileLocks.get(path);
23
23
  if (mutex && !mutex.isLocked()) {
24
24
  fileLocks.delete(path);
package/lib/index.d.ts CHANGED
@@ -0,0 +1,12 @@
1
+ import makeWASocket from './Socket';
2
+ export * from './Defaults';
3
+ export * from './Utils';
4
+ export * from '../WAProto';
5
+ export * from './Types';
6
+ export * from './Store';
7
+ export * from './WAUSync';
8
+ export * from './WABinary';
9
+ export * from './WAM';
10
+ export * from './Socket';
11
+ export { makeWASocket };
12
+ export default makeWASocket;
package/lib/index.js CHANGED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.makeWASocket = void 0;
23
+ const Socket_1 = __importDefault(require("./Socket"));
24
+ exports.makeWASocket = Socket_1.default;
25
+ __exportStar(require("../WAProto"), exports);
26
+ __exportStar(require("./Utils"), exports);
27
+ __exportStar(require("./Types"), exports);
28
+ __exportStar(require("./Store"), exports);
29
+ __exportStar(require("./Defaults"), exports);
30
+ __exportStar(require("./WABinary"), exports);
31
+ __exportStar(require("./WAM"), exports);
32
+ __exportStar(require("./WAUSync"), exports);
33
+
34
+ exports.default = Socket_1.default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amiudmodz",
3
- "version": "5.0.5",
3
+ "version": "5.0.7",
4
4
  "description": "WhatsApp Baileys mod Powered by UDMODZ",
5
5
  "keywords": [
6
6
  "whatsapp",