Commit Graph

141 Commits

Author SHA1 Message Date
Rajeh Taher 357ef1e599 defaults, validate: fix account signature check for non-hosted JIDs 2025-09-28 18:59:57 +03:00
Rajeh Taher 1eef97aa86 defaults, validate-connection: fix structure of ADV types 2025-09-28 03:58:17 +03:00
João Lucas de Oliveira Lopes 3b46d43beb fix: harden Protobuf Deserialization and Refactor Utilities (#1820)
* refactor: reorganize browser utility functions and improve buffer handling

* fix: harden protobuf deserialization and clean up code

* refactor: simplify data handling in GroupCipher and SenderKey classes

* fix: Ensure consistent Buffer hydration and remove redundant code

* refactor: update decodeAndHydrate calls to use proto types for improved type safety
2025-09-26 04:45:30 +03:00
Rajeh Taher 20693a59d0 lid, wip: Support LIDs in Baileys (#1747)
* lid-mapping: get missing lid from usync

* lid-mapping, jid-utils: change to isPnUser and store multiple mappings

* process-message: parse protocolMsg mapping, and store from new msgs

* types: lid-mapping event, addressing enum, alt, contact, group types

* validate, decode: use lid for identity, better logic

* lid: final commit

* linting

* linting

* linting

* linting

* misc: fix testing and also remove version json

* lint: IDE fucking up lint

* lid-mapping: fix build error on NPM

* message-retry: fix proto import
2025-09-08 10:03:28 +03:00
Paulo Victor Lund ae0cb89714 Session recreation and improved message retry (#1735)
* Add message retry manager for session recreation and caching

Introduces a MessageRetryManager to cache recent sent messages and manage automatic Signal session recreation for failed message retries. Adds new config options to enable these features, integrates retry manager into message send/receive logic, and provides periodic cache cleanup. Improves reliability of message delivery and retry handling.

* Add buffer timeout and cache limit to event-buffer

Introduces a buffer timeout to auto-flush events after 30 seconds and limits the history cache size to prevent memory bloat in event-buffer.ts.

* Add session validation to SignalRepository

Introduces a validateSession method to SignalRepository for checking session existence and state. Updates message retry logic to use the new validation, improving session recreation handling and retry management.

* Improve message retry management and tracking

Refactored message retry manager to use LRU caches for recent messages and session history, added retry counters and statistics tracking, and implemented phone request scheduling. Updated message receive and send logic to mark retry success and pass max retry count. Removed periodic cleanup logic in favor of cache TTLs for better resource management.

* lint fix

* Use validateSession for session checks in message send

Replaces direct session existence checks with the improved validateSession method, which also checks for session staleness. Adds debug logging for failed session validations to aid troubleshooting.

* Delete src/Utils/message-retry.ts

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-09-07 20:20:51 +03:00
Rajeh Taher 076daae89d types: fix circular import
closes #1746
2025-09-07 14:51:13 +03:00
Gustavo Quadri 8f21a67e4a fix: sync pre-keys on socket start and add specific pre-key error approach (#1663)
* fix: sync prekeys when storage mismatch

* fix: verify if current pre-key exists instead of matching

* add: pre-keys error specific approach

* fix: lint

* fix: lint
2025-09-07 14:11:50 +03:00
vini 50fc83b008 feat(business): change profile/cover photo and manage quick replies (#1724) 2025-09-07 14:08:26 +03:00
vini 084761dc31 feat: eventMessage sending / call link creation (#1677) 2025-09-07 14:08:18 +03:00
João Lucas de Oliveira Lopes 8d2cdbcf98 Fix regression import attribute (#1642)
* Revert "Replace deprecated assert with import attributes syntax (#1619)"

This reverts commit f61221f73a.

* fix: update import syntax for bailey's version JSON
2025-07-29 10:20:02 -03:00
steflsd f61221f73a Replace deprecated assert with import attributes syntax (#1619)
* replace assert with

* assert with

* more ts way for version

* fix: remove JSON import assert syntax for Node.js compatibility

- Replace JSON imports with generated .js imports
- Fixes compatibility between Node.js versions (assert vs with syntax)
- Maintains same functionality while avoiding syntax issues
2025-07-27 00:59:54 +03:00
Rajeh Taher 8dc852ee89 proto: fix proto generation, tsc: fix node imports of compiled code 2025-07-19 23:16:35 +03:00
João Lucas de Oliveira Lopes f8a538eee2 chore: update whatsapp version, tokens and increment dict version (#1366)
* chore: update whatsapp version, tokens and increment dict version

* revert: baileys version bump
2025-06-18 11:55:11 -03:00
canove fa706d0b50 chore: format everything 2025-05-06 12:10:19 -03:00
Rajeh Taher 1c2af09b03 socket,config: deprecate printQRInTerminal option
This was done to reduce dependencies
2025-03-10 15:08:50 +02:00
Claudemir Todo Bom da26cf5285 Fix link preview being generated for email addresses (#1231)
* link-preview: only match https urls without auth info

* fix regex to find url on strings - fix #1230
2025-03-01 18:15:33 +02:00
Rajeh Taher 40ebf669dd socket: potential fixes to the 66 id issues 2025-01-30 20:44:18 +02:00
Rajeh Taher 18ac07df8e lint: 0 warnings left 2024-10-14 05:15:10 +03:00
Rajeh Taher 61a0ff3178 mobile: deprecation. 2024-10-14 03:56:32 +03:00
Bob 2dc1afa4ff Fix: cachedGroupMetadata (#846)
* Update Socket.ts

* Update Message.ts

* Update messages-send.ts

* Update index.ts

* Update messages-send.ts

* Update messages-send.ts

* Update messages-send.ts

* Update messages-send.ts

* Update Message.ts

* Update Socket.ts

* Update messages-send.ts

* Update messages-send.ts

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2024-08-14 12:08:36 +03:00
Rajeh Taher 1f9cfb1cba PDO protocol (peer data operation): Get more history sync + better message retry mechanism (#919)
* feat(feature/pdo-sync): initial commit

* feat(feature/pdo-sync): Moved to conventional send functions, exported, patched some errors

* fix(feature/pdo-sync): Linting and more bugsquatting

* chore(feature/pdo-sync): linting done

* feat/fix(feat/pdo-sync): Newsletter decrypt + ack

* merge (#946)

* fix: profilePictureUrl (#901)

* Update module to latest version  (#926)

* Update package.json

Update the module to the latest

* Add files via upload

* Fix: Readme use upsert events (#908)

* Fix: getUSyncDevices (#862)

* Update messages-send.ts

* Update messages-send.ts

* Update messages-send.ts

* Fix lint

* Fix lint

* fix(master): update linting workflow to node 20 (current LTS)

---------

Co-authored-by: Akhlaqul Muhammad Fadwa <75623219+zennn08@users.noreply.github.com>
Co-authored-by: Rizz2Dev <muhamad.rizki27483@smp.belajar.id>
Co-authored-by: Oscar Guindzberg <oscar.guindzberg@gmail.com>
Co-authored-by: Bob <115008575+bobslavtriev@users.noreply.github.com>

* chore(feature/pdo-sync): final linting

* fix(feature/pdo-sync): make replies optional

* feat(feat/pdo-sync): add <unavailable> handle

* feat(feature/pdo-sync): Fixed the issues with peer messages and implemented some more logic

* fix(feature/pdo-sync): Make progress optional

* fix(feature/pdo-sync): Nullify and defeat Message absent from node if it is resolved immediately

* feat(feature/pdo-sync): Export message absent from node and export PDO request ID with it

---------

Co-authored-by: Akhlaqul Muhammad Fadwa <75623219+zennn08@users.noreply.github.com>
Co-authored-by: Rizz2Dev <muhamad.rizki27483@smp.belajar.id>
Co-authored-by: Oscar Guindzberg <oscar.guindzberg@gmail.com>
Co-authored-by: Bob <115008575+bobslavtriev@users.noreply.github.com>
2024-08-14 12:07:27 +03:00
arthur simas d91967aa1c Revert "fix: inefficient method of extracting url from text (#741)" (#748)
* Revert "fix: inefficient method of extracting url from text (#741)"

This reverts commit f5c1affc4d.

* fix: link preview should follow redirects

* fix: allow link preview of URLs with @ sign

---------

Co-authored-by: Ezequiel Moraes <ezequielmoraesdev@gmail.com>
2024-04-29 10:44:42 +03:00
Davidson Gomes 495bb6775a fix: old_version in mobile connection (#722)
* mobile version

* mobile version

* mobile version
2024-04-28 14:02:41 +03:00
Ezequiel Moraes f5c1affc4d fix: inefficient method of extracting url from text (#741)
* fix: inefficient method of extracting url from text
This fixes the thumbnail error when submitting a
Google Maps link.

* fix: link preview with redirects
2024-04-28 13:48:25 +03:00
Pokoke c17198e1d0 Change the default browser to fix pairing code 2024-01-28 23:29:25 +07:00
Alex Sandro 18990f874f feat: Add max msg retry count (#572) 2024-01-19 18:01:20 +02:00
ugurgungezerler 6b4d91737f feat: auto version hash (#290)
* feat: auto version hash

* sort imports

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2024-01-19 18:00:45 +02:00
brhenrique 93d5fea30d fix downloadMediaMessage crash with ptv messages 2023-08-30 19:30:47 -03:00
Samuel Scheit 49ab16f592 fix: registration + add captcha support (#227)
* fix: registration + update mobile version

* feat: add captcha support for registration

* fix: jid protocol address missing device

* fix: linting errors
2023-08-10 12:15:12 +03:00
allburov a6bc59f3f0 fix: Use new useragent and token for mobile 2023-07-23 18:47:01 +07:00
Mohammad Maaz 0aaa0086f9 fix: adjusted default keepAliveIntervalMs (#233)
Co-authored-by: sudomaaz <mohammad.maaz@lovebonito.com>
2023-07-13 21:08:53 -03:00
SamuelScheit 5c5b23ec85 feat: add md-msg-hist to MEDIA_PATH_MAP 2023-05-26 14:13:39 +02:00
SamuelScheit ef673f62ca feat: native-mobile-api 2023-04-20 13:01:11 +02:00
Adhiraj Singh fe1d0649b5 feat: add signal repository + tests 2023-03-18 12:25:47 +05:30
Adhiraj Singh 090c916f9f feat: define DEFAULT_CACHE_TTLS 2023-02-21 11:44:11 +05:30
Adhiraj Singh b2aa51a13d feat: add custom patchMsg function + remove patch for btns 2022-11-12 19:31:11 +05:30
Adhiraj Singh a58b73fba5 feat: allow ignoring jids 2022-11-11 09:31:49 +05:30
Adhiraj Singh 4aadc9dc6c fix: add option for appStateMacVerification 2022-11-08 22:33:53 +05:30
Adhiraj Singh f1635e2de7 chore: update URL regex 2022-10-24 15:48:58 +05:30
Adhiraj Singh d0330d1863 refactor!: cleaner message history sync
This is a breaking change,
1. three events (chats.set, contacts.set, messages.set) are now just one `messaging-history.set` event
2. no need to debounce for app state sync
3. added a new "conditional" chat update to allow for correct app state sync despite not having the chat available on hand
2022-09-29 16:32:57 +05:30
Adhiraj Singh 116b30dff0 feat: expose axios options 2022-09-19 17:25:54 +05:30
Adhiraj Singh e7f6838fa4 chore: remove legacy code 2022-09-19 14:59:35 +05:30
Adhiraj Singh f0bdb12e56 feat: generate high quality thumbs on link preview 2022-09-15 18:40:22 +05:30
Adhiraj Singh 3a891e071e feat: map all WA media types 2022-09-15 15:09:51 +05:30
Adhiraj Singh 765dcc1d1f fix: upload for product 2022-09-02 20:10:13 +05:30
Adhiraj Singh 19484e5cfc fix: fire init queries toggle 2022-08-12 09:05:58 +05:30
Adhiraj Singh a4208a4bf6 fix: exclude emails from URL gen 2022-08-02 08:38:10 +05:30
Adhiraj Singh d04718e27a feat: add desktop + full history sync opts 2022-07-26 13:30:01 +05:30
Adhiraj Singh 40a1e268aa feat: add "strictNullChecks" 2022-07-09 10:20:07 +05:30
Adhiraj Singh 189b740ea6 chore: remove "treatCiphertextMessagesAsReal" flag
!BREAKING_CHANGE

This was generally a poor design decision on my part to add something like this -- primarily because it could increment the chat unread counter a 100 times for a single message
2022-07-04 11:38:17 +05:30