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
Gustavo Quadri
0043f8be21
Add: LID support with lid-map and migrations of sessions ( #1694 )
...
* fix: add lid-map logic
* fix: lint and simplified version
* fix: single device migration
* fix: lid map discovery
* fix: lint
* fix: lid migration in socket connection
* fix: lint
* fix: decode-wa-message consistency
* fix: yarn lock
* fix: lint
* fix: retry logic
* fix: logger level
2025-09-07 14:12:24 +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
4d4339dae6
feat(WAProto): Optimize protobuf generation for 80%+ bundle size reduction ( #1665 )
...
* chore: remove comments and veirfy from generated proto files (improve size)
* refactor: replace fromObject with create for proto message instantiation and flag no beautiful
* chore: lint issues
2025-09-07 14:08:11 +03:00
Rajeh Taher
8dc852ee89
proto: fix proto generation, tsc: fix node imports of compiled code
2025-07-19 23:16:35 +03:00
Rajeh Taher
29f0ac83f8
tsc: fix builds & fix type errors
2025-07-19 17:16:07 +03:00
Rajeh Taher
90781ce0f2
eslint: upgrade to version 9 + tests: remove tests
2025-07-18 22:30:50 +03:00
Rajeh Taher
787aed88b8
project: Move to ESM Modules
2025-07-17 13:54:17 +03:00
João Lucas de Oliveira Lopes
8391c02e0b
[READY FOR MERGE] Implement newsletter ( #1532 )
...
* feat: implement basic newsletter functionality with socket integration and event handling
* feat: enhance media handling for newsletters with raw media upload support
* feat: working updatePicture, removePicure, adminCount, mute, Unmute
* fix: fetchMessages
* chore: cleanup
* fix: update newsletter metadata path and query ID for consistency. newsletterMetadata works now
* chore: enhance newsletter metadata parsing and error handling
* fix: correct DELETE QueryId value in Newsletter.ts
* chore: split mex stuffs to own file
* chore: remove as any
2025-06-30 23:22:09 -03:00
devlikeapro
5ffb19120d
Show poll on the sender device ( #1567 )
...
fix #675
2025-06-30 16:15:11 -03:00
canove
fa706d0b50
chore: format everything
2025-05-06 12:10:19 -03:00
canove
a4338fac12
fix: send message to lid groups
2025-04-25 07:39:29 -03:00
canove
53d6e3a8d5
fix: send message to LID addressing_mode groups
2025-04-23 10:17:30 -03:00
Nurutomo
d5dc758874
fix #1331 ( #1334 )
...
* fix for groups
* lint: fix linting
* messages-send: jids checking
2025-04-02 13:26:04 +03:00
Rajeh Taher
f19ffa7cca
messages-send: rigid checks on per-jid patch (fixes peer messages)
...
Peer messages were causing an error here since they are only sent to the device (no otherJids)
2025-03-20 01:22:50 +02:00
Rajeh Taher
a29138758c
socket, binary, usync: fix linting
2025-03-14 23:38:53 +02:00
Rajeh Taher
e1aadc5546
feat: add per-jid patching
...
This does not work in groups
2025-03-10 14:51:13 +02:00
Rajeh Taher
99142aac96
proto: update manually to 2.3000.1020608496
2025-03-06 04:22:17 +02:00
João Lucas de Oliveira Lopes
8083754621
refactor: turn hkdf functions to async and remove extra deps ( #1272 )
...
* refactor: remove futoin-hkdf dependency and update hkdf implementation
* refactor: use crypto subtle and update functions to async
---------
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
2025-03-01 18:31:48 +02:00
Rajeh Taher
49eeb7556d
socket,utils: fix imports
2025-03-01 18:26:20 +02:00
Jared Wray
588de6ce10
fix: migrating to @cacheable/node-cache as it is maintained ( #1074 )
2025-03-01 18:15:49 +02:00
Rajeh Taher
f1f49ad2c8
Usync: Barebones Usync Protocol support ( #960 )
...
* feature(feature/usync-mex): initial commit
* chore: fix merge commit
* chore:lint
2024-12-22 23:38:41 +02:00
Rajeh Taher
34cfa92076
messages-send,tsconfig: add poll message attributes + fix tsconfig
2024-10-18 06:08:40 +00: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
Leonardo Amaro
0011d61df1
Exporting getUSyncDevices and createNodeParticipants to socket-send api ( #980 )
...
Co-authored-by: Leonardo Amaro <=>
2024-08-20 01:46:57 +03:00
devlikeapro
09f8df445c
fix: do not fetch group metadata for status ( #986 )
...
fixes #985
2024-08-20 01:43:49 +03:00
Rajeh Taher
7c9f2ebd46
feat(feature/group-invite-v4): initial/final commit ( #958 )
2024-08-14 12:10:37 +03:00
Rajeh Taher
020add8b9b
feature(feature/pin-message): initial/final commit ( #959 )
2024-08-14 12:09:29 +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
Rajeh Taher
35f6d75cf8
fix(fix/buttons-deprecation): initial/final commit ( #956 )
2024-08-14 12:07:12 +03:00
Bob
d812c1ec45
Fix: getUSyncDevices ( #862 )
...
* Update messages-send.ts
* Update messages-send.ts
* Update messages-send.ts
* Fix lint
* Fix lint
2024-07-27 16:14:35 +03:00
Bob
61afe1cdc1
Fix linting generateMessageIDV2 ( #871 )
...
* Update messages-send.ts
* Update generics.ts
2024-06-16 15:33:01 +03:00
Rajeh Taher
0cc888e87b
fix(master): generate new message id
2024-06-12 23:12:59 +03:00
Rajeh Taher
dea709a5bb
chore: fix formatting
2023-12-22 00:40:49 +02:00
Rajeh Taher
4bddd3929b
bug fix: sending message to lid
2023-10-02 18:19:28 +00:00
Rajeh Taher
1447fb2eab
add me lid
2023-10-02 18:00:29 +00:00
Rajeh Taher
7cc604a9b5
share, receive, request, all you want
2023-10-01 21:43:00 +00:00
Rajeh Taher
a9d7bff235
Revert to fix
2023-10-01 15:18:40 +00:00
Rajeh Taher
6f08d55bb7
reflect my own lid in relayMessage
2023-10-01 14:19:37 +00:00
Rajeh Taher
6546793ec6
fixes
2023-10-01 14:16:29 +00:00
Rajeh Taher
e587ae0bf8
Update messages-send.ts
2023-10-01 16:06:23 +03:00
Rajeh Taher
73963c0ff8
Update messages-send.ts
2023-10-01 15:21:18 +03:00
Rajeh Taher
5b1171312e
Update messages-send.ts
2023-10-01 15:18:03 +03:00
Rajeh Taher
7106d33578
Update messages-send.ts
2023-09-30 21:31:44 +03:00
Rajeh Taher
d20830e43f
Update messages-send.ts
2023-09-30 21:15:04 +03:00
Codeboss
8917e9e387
Update messages-send.ts
2023-08-10 00:56:05 +03:00
Alessandro Autiero
44ec598ad2
Merge pull request #258 from SamuelScheit/fix-mobile-send-message
...
fix: do not send message to self if the device is 0 (mobile)
2023-07-21 14:39:27 +02:00
SamuelScheit
64349cac15
fix: do not send message to self if the device is 0 (mobile)
2023-07-19 17:28:50 +02:00