Commit Graph

654 Commits

Author SHA1 Message Date
vini 925ed6a7b3 feat(appstate): emit setting events (#2057) 2025-12-15 01:21:44 +02:00
Rajeh Taher 4609a3764e event-buffer: prevent loss of type due to buffering (#2179) 2025-12-14 14:16:28 +02:00
Rajeh Taher a7a53ad815 auth-utils: release transaction mutex after references are 0 (#2153) 2025-12-12 04:36:47 +02:00
YonkoSam 1e6f65cf5e fix Memory leak in makeMutex - Promise never gets garbage collected (#2151)
* Memory leak in makeMutex - Promise never gets garbage collected

Hey, I've been debugging a memory leak in my application and traced it back to the makeMutex implementation.

The current implementation chains promises indefinitely without ever breaking the chain:

Every call to mutex() creates a new Promise that awaits the previous task, then becomes the new task. The problem is the old promises never get released because each one holds a reference to the previous through the closure.

What I found
Took a heap snapshot after running for a while and found hundreds of Promises from make-mutex.js holding ~15MB and growing. The retainer graph shows a long chain of Promises all pointing back to each other.

Since processingMutex handles every incoming message/notification, this chain grows constantly and never shrinks.

This keeps the same mutex behavior but lets the GC clean up old promises every 50 tasks instead of holding them forever.

* Refactor makeMutex to use AsyncMutex directly

* lint

* revert
2025-12-12 04:35:24 +02:00
João Lucas de Oliveira Lopes 43d1787532 fix: improve media upload handling and reduce memory pressure (#2128)
* fix: improve media upload handling and reduce memory pressure

* fix: enhance media upload functionality and add comprehensive tests
2025-12-06 03:06:24 +02:00
Rajeh Taher 50d410d117 chore: lint 2025-11-19 16:25:56 +02:00
Clayton Lopes ae5260fc96 Fix memory leak caused by missing TTL in cache (#2044) 2025-11-19 15:23:34 +02:00
Anychat LLC 2779c9df08 Update messages-media.ts (#1988)
Fix of issue https://github.com/WhiskeySockets/Baileys/issues/1986
2025-11-19 15:19:56 +02:00
Cassio Santos 5c456e514e fix: cannot send message on new Whatsapp Business limited accounts (#2080)
* fix: cannot send message on new Whatsapp Business limited accounts

* chore: add woraround to resend the message on 475 errors

* fix: lint

* fix: add handler

* fix: lint

* Update src/Socket/messages-send.ts

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-11-19 15:18:19 +02:00
Muhammad Restu 0145e4c710 Fix jimp type check from 'object' to 'function' (#2034)
Fixes the error “No image processing library is available.” even when Jimp is installed.

In recent versions of Jimp, Jimp is now defined as a class instead of an object, which breaks the existing type check.



*Idk if this is useless/useful
2025-11-19 15:17:59 +02:00
vini 40f128d88a feat(events): decrypt event responses (#2056) 2025-11-19 15:17:21 +02:00
vini b4863b624e refactor(retry): improve message encryption and retry logic (#2055) 2025-11-19 15:13:51 +02:00
Rajeh Taher abf5af0e72 history: improve history sync and support new payload 2025-11-07 00:16:15 +02:00
Rajeh Taher a8b8eceb72 waproto, validate-connection: Update headers and proto to latest version 2025-11-06 23:41:41 +02:00
Rajeh Taher 29318cf6c2 chore: lint and re-organize 2025-10-20 00:37:37 +03:00
Rajeh Taher cc3cd17392 cleanup: remove string lid / jid refs and improve hosted support 2025-10-20 00:05:54 +03:00
Rajeh Taher 2e47d4b66b messages-send, signal: improve hosted device support + patch cache 2025-10-19 23:56:05 +03:00
Rajeh Taher 7ee0b61716 chore: lint 2025-10-18 20:35:36 +03:00
Rajeh Taher 07536dedfc process-message: check fromMe properly in message addons 2025-10-18 20:28:58 +03:00
Rajeh Taher ca50338be1 signal: process devices sequentially 2025-10-18 20:28:03 +03:00
Rajeh Taher e41a66b3c4 libsignal,lid-mapping, etc.: Partially fix "No sessions" on hosted JIDs 2025-10-16 18:31:01 +03:00
Rajeh Taher d0feb240fa chore: lint 2025-10-16 13:26:58 +03:00
Rajeh Taher d9c3b5aaf3 defaults, socket: sync full by default, prekey count set to 812 2025-10-15 19:16:25 +03:00
Rajeh Taher c84b20703c connection: update headers and other things 2025-10-15 17:52:52 +03:00
Rajeh Taher 48b0cb4bc2 chore: update wa web ver 2025-10-12 19:50:04 +03:00
Bob f9abf44994 Feat: limitSharing (advanced conversation privacy) (#1899)
* Update messages.ts

* Update Message.ts

* lint

* lint
2025-10-11 13:46:03 +03:00
Rajeh Taher ccecdbfc9c creds: add support for additional data 2025-10-08 22:37:21 +03:00
João Lucas de Oliveira Lopes 051b5fc220 perf(addTransactionCapability): streamline transaction handling and improve concurrency control (#1887) 2025-10-08 22:14:58 +03:00
Jefferson Felix a3ec28e051 fix error and linting (#1888)
* fix: build

* fix: linting

* fix: cast type
2025-10-08 09:27:43 +03:00
Rajeh Taher e9198b773e lid-mapping,signal: improvements to hosted device support in lid map 2025-10-08 02:39:02 +03:00
Rajeh Taher 9e4dbb2e22 signal,messages-send,libsignal: properly parse and ignore hosted devices 2025-10-08 02:25:26 +03:00
Rajeh Taher 54db127303 defaults,utils: Minimize vectors for automation detection 2025-10-07 20:29:47 +03:00
Rajeh Taher acc5111792 group events: fix serialization issue 2025-10-07 20:17:07 +03:00
Gustavo Quadri 60c688b85d Fix fetchLatestWaWebVersion to bypass WhatsApp anti-bot detection with minimal headers (#1883)
* fix: fetchLatestWaWebVersion to curl

* fix: lint

* fix: fetchLatestWaWebVersion to bypass WhatsApp anti-bot detection with minimal headers

---------

Co-authored-by: João Lucas <jlucaso@hotmail.com>
2025-10-07 20:06:45 +03:00
Rajeh Taher c5b0001b61 *group: parse @lids properly when processing group notifications
*This commit is breaking, it changes the format of participants in group-participants.update.
2025-10-05 23:56:14 +03:00
Rajeh Taher 334977f983 general: revert #1665 2025-10-03 18:14:30 +03:00
João Lucas de Oliveira Lopes 55f09e8c84 fix(auth): resolve concurrency bottleneck causing connection timeouts (#1858) 2025-10-03 07:27:27 +03:00
Rajeh Taher 37d729b33a messages-recv, decode-wa-message: handle storing new pairs better + lint 2025-10-03 01:17:37 +03:00
Rajeh Taher 50b36ece3b decode-wa-message, process-message: Fix @hosted lids processing 2025-10-03 00:22:57 +03:00
Rajeh Taher 1060f44bff auth-utils: Make a better addTransactionCapability function 2025-10-03 00:03:21 +03:00
Rajeh Taher b8f695cc82 general: linting 2025-10-02 21:41:12 +03:00
Rajeh Taher 0af6c2f298 general: preliminary support for @hosted + Usync LID stuff 2025-10-02 19:38:47 +03:00
Charlotte 9f6e1d954f fix: set duplex property when uploading media to server (#1837)
* fix: set duplex to half in getWAUploadToServer

* fix: add duplex to RequestInit interface
2025-10-01 07:55:50 +03:00
Rajeh Taher 096994b927 validate: Fix account signature check and device signature generation 2025-09-28 19:20:14 +03:00
Rajeh Taher 357ef1e599 defaults, validate: fix account signature check for non-hosted JIDs 2025-09-28 18:59:57 +03:00
João Lucas de Oliveira Lopes fb12f6d9d3 refactor: replace axios with fetch API and update related types (#1666) 2025-09-28 05:52:43 +03:00
Rajeh Taher 1eef97aa86 defaults, validate-connection: fix structure of ADV types 2025-09-28 03:58:17 +03:00
Rajeh Taher b9f128472e decode-wa-message: linting 2025-09-26 15:41:42 +03:00
Martijn Poppen 6ba7a8cdcf FIX: fromMe (#1796) 2025-09-26 15:41:06 +03:00
Rajeh Taher d9fed62d00 message: Add addressing mode 2025-09-26 11:13:22 +03:00