Commit Graph

53 Commits

Author SHA1 Message Date
Adhiraj Singh
fb66733b61 feat: implement in memory store
1. the store works as a temporary store for connection data such as chats, messages & contacts
2. the store is primarily meant to illustrate the usage of the event emitter as a way to construct the state of the connection. This will likely be very inefficient to perform well at scale
3. the store is meant to be a quick way to have some visibility of data while testing
4. the store works for both legacy & MD connections
2022-01-19 21:35:59 +05:30
Adhiraj Singh
8f11f0be76 chore: add linting 2022-01-19 15:54:02 +05:30
Adhiraj Singh
71a545e972 feat: add "getMessage" to example 2021-12-23 10:54:46 +05:30
Adhiraj Singh
3d0704a317 feat: cleaner auth state management
1. removes the "auth-state.update" event since it was bloated and fairly unnecessary
2. adds "creds.update" event that only sends the updated properties of the auth credentials
3. ensure the auth creds are not mutated anywhere, but only with the "creds.update" event
4. Separates the signal credentials from the auth credentials (kinda in progress)
5. in memory key store requires a save function to let one know when to save the keys

!BREAKING_CHANGE
2021-11-20 16:21:56 +05:30
Adhiraj Singh
8ae1cae5b2 chore: cleaner example file 2021-11-15 08:22:58 +05:30
Diego Araujo
bbf5bc96cc Fix retry receipt, fix assertingPreKeys, uploadPreKeys to 30, generate QR timeout and update example (#833)
* update example

* fix assertingPreKeys, uploadPreKeys to 30, generate QR timeout, sendRetryReceipt fix

* update example, change clear qr to event connection.update

* update example

* firstQR flag

* change checkConnection qr

* update example

* remove semis

* update example
2021-11-15 08:11:39 +05:30
Adhiraj Singh
18c6b44b9a Update example.ts 2021-10-28 13:24:35 +05:30
Adhiraj Singh
723d1d6712 fire contact update if pushname provided 2021-09-27 16:48:46 +05:30
Adhiraj Singh
2c99a4a8ed read message in example 2021-09-26 22:36:36 +05:30
Adhiraj Singh
671ea3e097 remove in-memory-store 2021-09-25 17:48:27 +05:30
Adhiraj Singh
f267f27ada finalize multi-device 2021-09-22 22:19:53 +05:30
Adhiraj Singh
89cf8004e9 Wrap up connection + in memory store 2021-07-09 20:35:07 +05:30
Omri Dagan
e670ff003e Add support for contacts array (#384)
* Add support for contacts array

* Remove contactsArray logs from Example.ts

* Undid prettier formatting of example.js
2021-03-07 02:03:47 +05:30
Adhiraj Singh
dfaeef0db1 Fix initial-data-received called multiple times
The latest android version has messages with the last: true flag set on all messages, causing incorrect events being fired off. This update creates a timeout that fires off the initial-data-received 2500ms after the last messages received.

This may not be as accurate in production but will be better than the current version
2021-02-04 19:04:50 +05:30
Adhiraj Singh
63dd136afa Move msgCount increment to generateMessageTag
Prevents duplicate tags from being sent
2021-01-24 17:25:49 +05:30
Adhiraj Singh
0344d6336c Stream uploads + downloads + allow for remote url uploads
- Switch to using got
- Use encryption/decryption streams for speed & lesser memory consumption
- Allow for stream based download & simultaneous upload of media
2021-01-13 22:48:28 +05:30
Adhiraj Singh
b9ece77220 Removed loadProfilePicturesForChatsAutomatically 2021-01-05 19:08:25 +05:30
Adhiraj Singh
efe6bf1dd3 Cleaner code. Remove credentials-updated & connection-validated as they became obsolete
`credentials-updated` & `connection-validated` became obsolete as they are equivalent to `open`
2021-01-04 17:07:51 +05:30
Adhiraj Singh
6cc5a910f7 Completely remove message-status-update & user-status-update 2021-01-04 14:19:44 +05:30
Adhiraj Singh
ac4b4c7384 Removed deprecations + merge message-status-update into chat-update
1. Update package version to 4.0.0
2. Retry query if the connection unexpectedly closes + make query iterative instead of recursive
3. Remove message-new & message-update deprecations
4. Deprecate loadProfilePicturesForChatsAutomatically
2021-01-04 12:35:48 +05:30
Adhiraj Singh
7dc083b6e5 Update init method to try login multiple times + use WA ttl for QR gen 2020-11-26 17:08:18 +05:30
chan32167
c53b091484 Update example.ts 2020-11-22 18:45:07 -05:00
Adhiraj Singh
c69d3832de Add WAChatUpdate 2020-11-18 23:41:51 +05:30
Adhiraj Singh
f29c5cf206 Add name to presence update 2020-11-17 17:12:14 +05:30
Adhiraj Singh
cea702b5a3 better presence handling via chat-update 2020-11-17 16:58:57 +05:30
Adhiraj Singh
6d02d405a7 Major redo with respect to chats/contacts -- read desc
Waiting for chats & contacts is hella unreliable, so I've put them as events
1. receive chats via the `chats-received` event. If new chats are found, the flag for that is sent as well
2. receive contacts via the `contacts-received` event
3. When WA sends older messages, the `chats-update` or `chat-update` event is triggered
4. Baileys keeps track of all the changed conversations between connects

Connects almost always take less than 10 seconds!
2020-11-13 23:15:16 +05:30
Adhiraj Singh
eace0c1795 Deprecated message-new & message-update + fix presence update for groups
The chat-update event is fired now when a message is received/updated
2020-11-13 16:07:08 +05:30
Adhiraj Singh
cc722a5138 Callbacks via EventEmitter + possible memory leak fix 2020-10-28 16:10:28 +05:30
Adhiraj Singh
6c000ab093 Added logger, handled checksum fail 2020-10-12 20:32:32 +05:30
Adhiraj Singh
210b467b68 Close before terminate + update presence on message receive 2020-10-11 23:08:48 +05:30
Adhiraj
64c9b7449e Chat ordering update 2020-10-04 18:29:35 +05:30
Adhiraj
0d13a15904 Handle updating of credentials 2020-10-02 14:19:04 +05:30
Adhiraj
3a878ae193 Updates
- removed timeout, use maxIdleTimeMs
- made messages a keyedDB to better utitlize message cache
- possible fix for group ID bug
2020-09-27 13:51:36 +05:30
Adhiraj
f12f6fd90d added proxy support 2020-09-06 15:48:01 +05:30
Adhiraj
218c9bcc18 Added function to change read status for chat, updated connect 2020-09-01 12:13:25 +05:30
Adhiraj
420c707195 fixed bug with stickers 2020-08-31 16:28:56 +05:30
Adhiraj
0af9f8fbe4 More reliable connect with automatic retries + default connect options 2020-08-31 14:39:21 +05:30
Adhiraj
828be7f240 renamed user.id to user.jid 2020-08-28 20:22:35 +05:30
Adhiraj
890fb726f1 Changes
- Separated message-status-update & message-update
- Removed contact storage & waiting for contacts. General connect speed should improve by 10%-20%
- Added `contacts-received` event
2020-08-28 20:01:48 +05:30
Adhiraj
ea36aabb6c better connections 2020-08-22 17:46:41 +05:30
Adhiraj
47021c34bf correct message updates 2020-08-19 17:43:30 +05:30
Adhiraj
95d2567e76 Initial V3.0 2020-08-19 14:19:30 +05:30
Adhiraj
002d304041 Got rid of WAClient, deprecated code. Prep for V3
Layered classes based on hierarchy as well.
2020-08-16 17:51:29 +05:30
Adhiraj
b06f53401f Updates
-Removed unread messages while connecting
-Added KeyedDB integration
-pdf mimetype fix + mimetype can be string now
2020-07-31 17:32:15 +05:30
Adhiraj
da73905b5e Depracations + Semantic Changes 2020-07-19 13:21:44 +05:30
Adhiraj
a04a908b94 Log level update 2020-07-16 12:52:19 +05:30
Adhiraj
d87e4e5897 Unified unexpected disconnect & takeover events 2020-07-13 16:32:52 +05:30
Adhiraj
8b859b9376 Log out detection 2020-07-13 14:42:37 +05:30
Adhiraj
2a7d179822 Takeover conflict implementation 2020-07-10 12:44:31 +05:30
Adhiraj Singh
1f7e9c8142 Moved to src 2020-07-01 18:14:47 +05:30