github-actions[bot]
a9ba11976e
chore: update WhatsApp Web version ( #2330 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-09 15:46:10 +02:00
João Lucas
b02390123a
fix: detect identity key changes and reset sessions (align with WA Web) ( #2307 )
...
* feat(signal): add RetryReason enum and MAC error-based session recreation
* feat(signal): add identity change detection with automatic session clearing
* fix(signal): integrate identity change detection with pkmsg decryption
This completes the identity change detection implementation by actually
calling saveIdentity() during pkmsg decryption, which is CRITICAL for
the feature to work.
Changes:
- Add extractIdentityFromPkmsg() function that parses PreKeyWhisperMessage
protobuf to extract sender's identity key (33 bytes)
- Call saveIdentity() BEFORE decryption in decryptMessage() for pkmsg type
- Log when identity change is detected
Flow:
1. Receive pkmsg from sender
2. Extract identity key from PreKeyWhisperMessage protobuf
3. Call storage.saveIdentity() which compares with stored key
4. If key changed → session is cleared atomically
5. Decryption proceeds with re-established session
This matches WhatsApp Web's behavior where extractIdentityKey is called
before handleNewSession (GysEGRAXCvh.js:40917, 48815).
Ref: WhatsApp Web's extractIdentityKey (GysEGRAXCvh.js:48976-48998)
2026-02-05 21:31:26 +02:00
João Lucas
b5c174111f
feat: replace async crypto with sync Rust WASM for app state sync ( #2315 )
...
* feat: replace async crypto with sync Rust WASM for app state sync
* fix: remove unecessary buffer copying
* fix: update whatsapp-rust-bridge to version 0.5.2 and refactor async calls to sync. HKDF and MD5 in rust
2026-02-05 16:06:47 +02:00
João Lucas
fa2a837a4a
perf: reduce DB calls during sync with caching and batching ( #2316 )
...
* perf: reduce DB calls during sync with caching and batching
* refactor: clean up comments and improve LID-PN mapping storage during history sync
2026-02-05 16:06:15 +02:00
Ahmed Alwahib
ffc019fb51
fix: align noise-handler buffer types for Baileys build ( #2284 )
...
* fix: align noise-handler buffer types for Baileys build
* Align noise handler buffer types
* Clarify noise handler buffer typing
2026-01-25 01:52:36 +02:00
Matheus Filype
d514764686
feat: send unified session ( #2294 )
...
* fix: improve message resend logic by adding checks for message IDs
* Revert "fix: improve message resend logic by adding checks for message IDs"
This reverts commit c03f9d8e6fc6cbfbb9d1f8f67c169700e704213d.
* feat: add unified session handling and time constants
* refactor: improve socket variable destructuring and presence update logic
* fix: remove unnecessary semicolons in socket and time constants definitions
* fix: handle invalid server time offset parsing in makeSocket function
2026-01-25 01:51:47 +02:00
João Lucas de Oliveira Lopes
f829b6d7a8
fix: extract LID-PN mappings from conversation objects in history sync ( #2282 )
...
* fix: extract LID-PN mappings from conversation objects in history sync
* fix: extract PN from userReceipt when pnJid is missing for LID chats
2026-01-22 15:00:41 +02:00
Gustavo Quadri
52fcad2b9c
fix: optimize getLIDsForPNs and add getPNsForLIDs ( #2274 )
...
* fix: optimize lid-mapping and add getpnsforlids
* fix: lint
* fix: reintroduce store and fix partial returns
* fix: lint
2026-01-22 14:58:02 +02:00
João Lucas de Oliveira Lopes
92d4198ff1
fix: skip retry for expired status messages over 24 hours old ( #2280 )
2026-01-22 14:55:29 +02:00
João Lucas de Oliveira Lopes
5cbad3170b
Fix connection showing "Online" but disconnected ( #2132 ) ( #2264 )
...
* fix(messages): handle identity change notifications correctly (#2132 )
* fix: tests and linting, add a helper like waweb
2026-01-22 14:54:10 +02:00
Rajeh Taher
1ef04d5329
socket: no sync warning!!!!!
2026-01-22 14:43:19 +02:00
Rajeh Taher
bfde86bce7
example: cleanup
2026-01-22 14:42:56 +02:00
Rajeh Taher
0826895c6b
history: add proper logging support in history
2026-01-22 14:34:46 +02:00
Rajeh Taher
d4e5b4167d
history: fortify contact data
2026-01-22 14:13:33 +02:00
Rajeh Taher
c81c074dbd
defaults, index: change shouldSyncHistoryMessage behavior
2026-01-22 14:13:00 +02:00
Rajeh Taher
506017b0c4
example: revamp logging for example
2026-01-22 14:12:25 +02:00
Rajeh Taher
75b0ba2652
chat-utils,sync-action-utils: provide alternatives for the contact name
2026-01-22 10:36:36 +02:00
Rajeh Taher
b6b708ddfe
chore(tests): lint
2026-01-20 12:47:05 +02:00
Enzo Nascimento
a1d69f72c9
fix(utils.normalizeMessageContent): add associatedChildMessage as one of the options to normalize ( #1874 )
...
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
2026-01-20 12:46:03 +02:00
Rajeh Taher
90e8ba82f4
Cache the children after a getBinaryNodeChild/ren call to avoid traversing arrays ( #2093 )
...
* generic-utils: cache the get
* generic-utils: increased type safety
* chore: lint
2026-01-20 12:43:27 +02:00
David ???
d36d9c194c
Add groupStatusMessage checks in message handling ( #2258 )
2026-01-20 12:41:33 +02:00
João Lucas de Oliveira Lopes
8ff01b8bb3
fix: store LID-PN mapping from contactAction sync ( #2266 )
...
* fix: store LID-PN mapping from contactAction sync
* chore: improve testing of sync actions
2026-01-20 12:39:41 +02:00
João Lucas de Oliveira Lopes
a89736f89d
fix: extract LID-PN mappings from history sync phoneNumberToLidMappings ( #2268 )
2026-01-20 12:39:29 +02:00
Luiz Braga
32134a870e
chore: Add messageTimestamp to message updates in messages-recv when receiving a message status update ( #2277 )
2026-01-20 12:37:34 +02:00
João Lucas de Oliveira Lopes
5887551d68
fix: resolve race condition in decodeFrame handling and improve encryption integrity ( #2182 )
...
* fix: resolve race condition in decodeFrame handling and improve encryption integrity
* chore: pr feedback
2026-01-20 12:37:04 +02:00
github-actions[bot]
4bdcedf96b
chore: update WhatsApp Web version ( #2269 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-20 12:35:35 +02:00
Rajeh Taher
5b5ac85443
example: revamp example and add options for unit tests
2026-01-18 17:53:09 +02:00
Rajeh Taher
c4c22c9628
example: customizable socket URL
2026-01-18 17:26:17 +02:00
Rajeh Taher
de6432cf5a
example: improve ping-pong
2026-01-18 17:17:50 +02:00
Rajeh Taher
b62cb40a70
chore: lint
2026-01-18 17:16:28 +02:00
Rajeh Taher
282f065f53
connection-deadlock, socket: improve socket end conditions
2026-01-18 17:16:28 +02:00
Vrypt
db86cdc545
fix(proto-extract): regenerate corrupted yarn.lock to restore install process ( #1981 )
...
* fix(proto-extract): regenerate corrupted yarn.lock to restore install process
* chore(proto-extract): update acorn parser to latest version for compatibility with new WhatsApp JS syntax
* Update baileys version to 2.3000.1029027441
* Update version number in Defaults index
* Revert WAProto.proto to resolve merge conflict and restore expected structure
---------
Co-authored-by: Vrypt <vryptt@gmail.com >
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
2026-01-18 01:45:23 +02:00
YonkoSam
a2677c89dd
Fix critical memory leak in event buffer ( #2160 )
2026-01-18 01:44:28 +02:00
Rajeh Taher
56ee829757
process-message: remove timeout before event emit
2026-01-18 01:35:50 +02:00
Rajeh Taher
e740fc5b4a
messages-send: revamp message type function
2026-01-18 01:35:50 +02:00
Rajeh Taher
2ec9d9ff1d
gitignore: fix ignoring logs coming from example file
2026-01-18 01:34:55 +02:00
Rajeh Taher
83e0f22af8
messages-recv: decrease PDO response timeout
2026-01-18 01:34:39 +02:00
Rajeh Taher
b1c76ebe2d
chore: lint+bugfix
2026-01-18 01:31:56 +02:00
João Lucas de Oliveira Lopes
e53fa7b8e5
Feat improve testing coverage e2e ( #1799 )
...
* fix: ensure proper socket closure and await connection termination in tests
* feat(tests): enhance E2E tests for image and video message handling, including downloads and group interactions
2026-01-18 01:16:24 +02:00
vini
0b3b2a88cd
fix(messages): enhance nullish value checks in message content generation ( #2180 )
2026-01-18 01:11:33 +02:00
YonkoSam
1408499d7c
moved retryCount before validating the session ( #2167 )
2026-01-18 01:11:10 +02:00
Matheus Filype
349e7bd771
feat: send tctoken to profile update and presence subscribe ( #2257 )
...
* fix: improve message resend logic by adding checks for message IDs
* Revert "fix: improve message resend logic by adding checks for message IDs"
This reverts commit c03f9d8e6fc6cbfbb9d1f8f67c169700e704213d.
* feat(tc-token): implement buildTcTokenFromJid utility and integrate into chats socket
* fix(tc-token): ensure consistent return value when tcTokenBuffer is absent
* fix(chats): update import path for buildTcTokenFromJid utility
2026-01-18 01:07:53 +02:00
João Lucas de Oliveira Lopes
d4ef73aca5
feat: implement automated WhatsApp version update workflow and related scripts ( #2130 )
...
* feat: implement automated WhatsApp version update workflow and related scripts
* change cron to weekly
---------
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
2026-01-18 01:07:05 +02:00
João Lucas de Oliveira Lopes
9611a1a982
fix(WAProto): Handle string values in long fields during JSON serialization ( #1991 )
...
* feat: add patch-tojson functionality for improved proto serialization
* Remove patch-tojson functionality and its import from the main index file to streamline the codebase.
* refactor: simplify longToString and longToNumber functions for better readability and performance
2026-01-14 08:33:45 +02:00
vini
432c26a07c
fix(messages): handle encryption failures per recipient and fail when all fail ( #2226 )
2026-01-08 22:07:11 +02:00
vini
c392d4ce6c
feat: add support for FB and Interop JID encoding/decoding and empty strings ( #2189 )
2026-01-08 21:56:50 +02:00
Ibrahim Pelumi Lasisi
720cc688d6
fix: avoid variable shadowing and preserve empty business profile fields ( #2183 )
...
* Update business.ts
* chore: fix lint issues
2026-01-08 21:56:13 +02:00
Gustavo Quadri
81d9c12e86
fix: getmessagetype to ensure consistency with whatsapp behavior ( #2245 )
2026-01-08 21:51:34 +02:00
João Lucas de Oliveira Lopes
c9c3481817
implement message reporting tokens ( #1906 )
...
* feat: implement message reporting tokens and privacy token handling
* feat: add support for privacy tokens in profile picture requests and history sync
* chore: pr feedback purpshell
* fix: improve privacy token handling and error messaging in socket configuration
* feat: enhance privacy token handling with improved sender mapping
* chore: removing tc token in favor of #2080
* chore: revert some unecessary changes
* feat(reporting): enhance reporting token extraction and compilation logic
* feat(reporting): add unit tests for reporting token utilities
* fix(reporting): streamline reporting token attachment logic in message sending
* fix: adjust reporting token inclusion logic to prevent retries
* chore: add return type to shouldIncludeReportingToken and improve getToken function type safety
2026-01-08 21:50:49 +02:00
Skid
4e681d3219
feat: Verify leaf signature ( #2208 )
...
* Update WA_CERT_DETAILS with issuer and public key
* certificate validation
* fix:lint
* padding
* lint: fix tab
---------
Co-authored-by: skidy89 <tutorialesyg310@gmail.com >
2026-01-08 21:49:37 +02:00