ogxing
a23c285f3c
fix: group chat create ( #1319 )
2022-03-28 22:56:07 -04:00
༺ LᴇG̸ᴇɴD ༻
b96607338a
getProfilePicture Fix => Evaluation failed: Error: Comms::sendIq called before startComms ( #1264 )
...
* Fix: Evaluation failed: Error: Comms::sendIq called before startComms
* [Requested Changes] - Only call Wap if we're not on MD & vice-versa
Co-authored-by: Joaquin Touris <joaquin@192.168 .1.5>
2022-03-05 16:24:40 +02:00
Pedro S. Lopez
f6de161c7d
Auth Strategies ( #1257 )
...
* auth strategies
* default to no auth
* rename base auth strategy
* rename base strategy cont.
* refactor auth strategy methods and LocalAuth
* activate old session options even if is falsy value
* move restartOnAuthFail to LegacyAuthStrategy option
* add link to guide item
* update example/shell
* types
2022-02-27 22:02:49 -04:00
Rajeh Taher
0d55d40885
feat: Multi-device support ( #889 )
...
* 🚑 Added ready selector for multi-device
* SendMessage fix
* File management system and some fixes
* cleanup
* cleanup again
* eslint
* critical fix for reloading the same session
* Checking for valid folder name (regex)
* ESLint hotfix (regex escapes)
* Typings cleanup
* cleanup listener
* Multi-device Branch merge (#888 )
* Duplicate
* qr fix and allow non-beta users to connect
* urgent: selector fix
* urgent: qr timeout fix
* fix
* Updated type so no TS error when sending list/buttons
* Update index.d.ts
* fix QueryExist for Multidevice (#928 )
* creates isRegisteredUserBeta
* fix QueryExist
* fix Error: GROUP_JID: invalid jid type: Not an instance of WID issue (#926 )
* fix Error: GROUP_JID: invalid jid type: Not an instance of WID issue
* clean code
* Cleanup
* Fix for update chrome error
* ESLint fix
* :red_light: fix for RMDIR
* Update README.md
* Update README.md
* fix: getProfilePicUrl fix by victormga (#941 )
* fix: MD presence available/unavailable (#942 )
* delete session when appropriate & fix for SW
* ignore QR timeout errors
* Presence and ChatState updates working for MD+Non-MD
* shell uses new session storage
* lint fix
* support session.json-based auth for non-md
* md fix
* md fix
* fix shell clientId
* remove exclusive mocha test
* make linkPreview default to false
* remove ignored errors on getQuotedMessage
* fix: dont modify existing this.options.puppeteer object
* tests work with new dir auth
* remove exclusive test
* fixes and tests for group creation and participant functions
* remove unused function
* wip fix group settings functions
* isRegisteredUser && getNumberId hotFix (#955 )
* isRegisteredUser && getNumberId hotFix
A fix for client.isRegisteredUser and client.getNumberId. Use for reference or if you are stuck with MD and NEEDS this function. Problably Whatsapp will break this in a couple weeks
* fix for non-md
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
* Fix WA 2.2146.9 MD + victormga branch (#991 )
* qrcode now uses observers instead of timeout
* automatic auth/qrcode detection
* Fix WA 2.2146.9 MD
Got from github:victormga/whatsapp-web.js#multidevice maybe it's behind pedro branch
Co-authored-by: victormga <victor_mga@hotmail.com >
* fix
* fix*
* getnumberid to multidevice (#1027 )
* getNumberId to main
isRegisteredUser && getNumberId hotFix #955 To main
* Update Client.js
Co-authored-by: tuyuribr <45042245+tuyuribr@users.noreply.github.com >
* Update Client.js
* Message.raw() (#1005 )
* Message.raw()
* i just noticed
* Update index.d.ts
* Update index.d.ts
* Update Message.js
* Get rid of sharp now!!!!!!!! (#1045 )
* commit 1
* finally, gotten rid of sharp
* pckg.json
* service worker fix & disableMessage option
* typings
* Update example.js
* clear session system
* Update Client.js
* Update Client.js
* Fix accepting group private invite (#1094 )
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* [MD] Add getCommonGroups with specific user. (#1097 )
* Add getCommonGroups with specific user.
* Fix
* Fix
* Fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Fix getCommonGroups. (#1122 )
* Fix of Unexpected identifier async destroy() (#1123 )
* Fix of Unexpected identifier async destroy()
* Fix made in #1107
* Temporary fix for "Sticker" module
* some really quick changes
* Update Injected.js
* Update Injected.js
* Update index.d.ts
* fix: getNumberId Solved (#1142 )
* getNumberId Solved
* isRegisteredUser Solved
* formmated
* Apply suggestions from code review
* Update src/util/Injected.js
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
* Fix: "Chrome user data dir was not found ..."
fixes the error caused by puppeteer.
* Update Client.js (#1154 )
* fix: getNumberId and isRegisteredUser (#1159 )
* fix: getNumberId and isRegisteredUser
* Apply suggestions from code review
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
* Update client.js
* Update Injected.js
* Update Client.js
* Update index.d.ts
* Update Client.js
* Update Client.js
* fix lint indentation
* fix auth_failure event for non-md, tests
* fix setting group subject
* fix finding Label module
* set remember-me after clearing localStorage
* fix: send messages to groups correctly on MD, use new ID format
* fix setting / getting contact status
* fix msg.getInfo, add message tests
* fix group settings functions
* fix set group description, handle errors in setSubject
* fix group invite functions
* fix leaving group
* bring back phone info for non-md users
* remove unused option, update typings
* add back jsdoc for qr event
* fix setting sticker metadata, clean up sticker functions
* rawData is a get only property
* fix and simplify getNumberId/isRegisteredUser
* fix getInviteInfo
* setDisplayName returns bool, not yet implemented for md
* fix: stream module (#1241 )
* linkPreview has no effect on MD, return default to true
* fix: del linkPreview option on md
* cleanup, types and docs updates
* update readmes / test notes
* remove DS_Store
* DS_Store in gitignore
* test stability (timeouts/sleeps)
Co-authored-by: Rajeh Taher <rajeh@reforward.tk >
Co-authored-by: Gustavo B <52040719+Gugabit@users.noreply.github.com >
Co-authored-by: Maikel Ortega Hernández <maikeloh@gmail.com >
Co-authored-by: victormga <victor_mga@hotmail.com >
Co-authored-by: Pedro Lopez <pedroslopez@me.com >
Co-authored-by: tuyuribr <45042245+tuyuribr@users.noreply.github.com >
Co-authored-by: gon <68490103+nekiak@users.noreply.github.com >
Co-authored-by: Alon Schwartzblat <63599777+Schwartzblat@users.noreply.github.com >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Šebestíček <44745014+SebestikCZ@users.noreply.github.com >
Co-authored-by: Emmanuel Anaya Luna <38712443+KeruMx@users.noreply.github.com >
Co-authored-by: L337C0D3R <51872799+L337C0D3R@users.noreply.github.com >
Co-authored-by: Reni Delonzek <renidelonzek@gmail.com >
2022-02-27 18:51:08 -04:00
Pedro S. Lopez
20f3bc7a8b
fix: dont cause redirect loop due to session restore ( #1181 )
...
* fix: dont cause redirect loop due to session restore
* back to `state` in docs
* use referer to determine first injection
* bring bzck disconnect on nav
* revert some changes
2022-02-08 22:33:20 -04:00
Shir Serlui
7e36cceaf0
extra options can override other options when sending message (#1103 )
...
* Fix the option to use special options
When we want to use some extra function we need to pass it into the options object, but because it inserted in the first line, the auto options reset some options (like 'type').
This is minor change that can help to add functionallity
* Update Injected.js
Put the special options in the end
* Update Injected.js
Fix , mistake
* only `extra` options can override everything else
Co-authored-by: Pedro Lopez <pedroslopez@me.com >
2022-02-06 21:00:10 -04:00
Pedro Lopez
d7478de68a
fix: emit message events after ciphertext is decrypted
...
fixes #924
fixes #1041
2022-02-06 18:54:10 -04:00
Pedro S. Lopez
c859ac39ce
fix: dont crash when calling .destroy() while waiting for qr scan ( #1172 )
...
fixes #739
fixes #951
2022-02-05 23:05:01 -04:00
Pedro S. Lopez
f149516d0d
chore(tests): add Chat model tests ( #784 )
...
* add search and status tests
* reset to previous status in test
* move version to its own test
* add tests for Chat model
* keep hooks at the top
* run tests recursively in default script
2022-02-05 22:05:42 -04:00
Pedro S. Lopez
32e47d818a
fix: only emit disconnected event on navigation when state is PAIRING ( #1169 )
2022-02-05 18:19:02 -04:00
tuyuribr
6878598a5d
fix: await promise when setting user agent ( #1113 )
...
Some of my devices were bugging out because the setUserAgent didn't had an await, after this everything was working fine (try loading the wwebjs in a broken microSd ahhaha).
We need some testing but on my limited testing everything is working
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
2022-02-05 15:42:25 -04:00
Rajeh Taher
d86c39de3c
fix: Fix inactivity issue ( #946 )
...
* Fixed Remember me issue
* Update Client.js
2021-12-16 15:25:35 +00:00
victormga
2a7337b142
max qr refresh before giving up ( #852 )
...
* max qr refresh before giving up
* Update src/Client.js
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
2021-10-29 23:45:04 -04:00
Pedro Lopez
c434e04e41
fix countrycode and formatted number functions, add tests
2021-10-29 23:41:49 -04:00
Rajeh Taher
97a1d399ee
Format phone numbers ( #650 )
...
* 📦 Declared NumberInfo in store
* 📝 Add client.js functionality
* 🚨 eslint just admires singlequote strings
* 📝 Add shortcuts to using client method
* ♿ Adding parity between the ids
* ♿ Same method name parity
* 🚨 ESLint indentation error.
* 🚨 ESLint doublequote string error.
* 🎨 Proposed changes
* 🎨 Fixed badly done code :v and applied proposed changes.
* ⚡ fixed calling the wrong function (sigh)
* ⚡ Fixed missing try-catch code.
* 🚨 Fixes ESLint indentation errors.
* ⚡ fix the documentation issues.
* 🏷️ typescript
* 🏷️ Typo in function name
Co-authored-by: Rajeh Taher <rajeh@reforward.tk >
2021-10-29 23:33:38 -04:00
Rajeh Taher
06107af67d
Allow a chat to be muted indefinitely ( #849 )
...
* muteChat fixed
* Update src/Client.js
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
* Update src/Client.js
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
* date fix
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
2021-10-29 23:24:36 -04:00
Muhamad Ristiyanto
4338664590
Add getBlockedContacts method ( #770 )
...
* add simple method to get blocked ids
* Change getBlockedList to getBlockedIds
* getBlockedIds to getBlockedContacts
* typo
* ESLint & other changes
* 🏷️ types
* fix: no `this.client`
* add tests
Co-authored-by: Rajeh Taher <rajeh@reforward.dev >
Co-authored-by: Pedro Lopez <pedroslopez@me.com >
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
2021-10-30 03:18:26 +00:00
Pedro Lopez
1f38b762ed
add warning for multidevice, keep working for forced upgrade
2021-10-29 22:58:57 -04:00
tuyuribr
b60029ed09
feat: Send buttons and Lists ( #756 )
2021-09-14 00:06:05 +03:00
tuyuribr
cdede835af
Include Calls ( #720 )
...
* Get Call module
* The call event
* Update onCall index.d.ts
2021-07-17 00:05:53 -04:00
Edson Tégila
cd52075447
Add the option to use "browserWSEndpoint" ( #727 )
...
* Update Client.js
* Update package.json
* Update package.json
* 🚨 🔥 Fixed ESLint and removed old code.
* Update README.md
* Update README.md
* Update Client.js
* chore(deps): bump sharp from 0.26.3 to 0.28.3
Bumps [sharp](https://github.com/lovell/sharp ) from 0.26.3 to 0.28.3.
- [Release notes](https://github.com/lovell/sharp/releases )
- [Changelog](https://github.com/lovell/sharp/blob/master/docs/changelog.md )
- [Commits](https://github.com/lovell/sharp/compare/v0.26.3...v0.28.3 )
---
updated-dependencies:
- dependency-name: sharp
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update package.json
* Update README.md
* Update example.js
* Update README.md
Co-authored-by: Rajeh Taher <52720753+PurpShell@users.noreply.github.com >
Co-authored-by: Rajeh Taher <rajeh@reforward.tk >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aliyss Snow <33941859+Aliyss@users.noreply.github.com >
2021-07-13 10:27:00 -07:00
JoseHM8A
cdc00e934d
feat: acceptGroupV4Invite ( #677 )
...
* Added option client.acceptGroupV4Invite()
* Update Client.js
* Update index.d.ts
Added a description to the inviteV4 object
Renamed "invite" by "inviteV4"
* Update Client.js
* Update Message.js
renamed "invite" to "inviteV4"
* Update Client.js
* Added message.acceptGroupV4Invite method
* Update index.d.ts
acceptGroupV4Invite
* better typings, refactor some names
Co-authored-by: Pedro Lopez <pedroslopez@me.com >
2021-06-05 17:10:47 -04:00
Ricardo Araújo Paes
38976558f5
feat(dev): add argument bypassCSP to use in pupperter ( #635 )
2021-06-01 22:05:44 -04:00
Wictor Nogueira
b895437458
add searchMessages method ( #586 )
...
* add searchMessages method
* fix typing
* fix typing
* remove unused statement
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
2021-06-01 21:54:27 -04:00
Wictor Nogueira
f506c171c1
add extra option to MessageSendOptions ( #600 )
...
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
2021-05-31 19:24:30 -04:00
Wictor Nogueira
6c66ab2bef
Add sendVideoAsGif option ( #578 )
...
* Add sendVideoAsGif option
* fix typo
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
2021-05-31 19:18:10 -04:00
Rajeh Taher
efc7018f9a
Add support for sticker Name and author ( #527 )
...
* Added Sticker author and sticker name support
This patch of Client.js includes support for sticker metadata
* Docs: stickerName and stickerAuthor in MessageOpts
* Hotfix_Sticker_Feature
fixes a bug
* Update global.html
* updated
* fixed comma
* Fixed duplicate code
* Fixing eslint
* Fixing eslint again
* eslint....
* fixing problem with eslint.
* move sticker exif data filling to Utils.formatToWebpSticker() function
* Update Client.js
* Added temporary stuff
* eslint
* Update Util.js
* eslint bad :D
* eslint
* polish work with files
* fix error and TODOs
* clean up code to match with repo code style
* update typescript params
* Update src/util/Util.js
camel Case
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
* Update Util.js
* ➖ webp-converter ➕ node-webpmux
* Update Util.js
* ✨ Use node-webpmux
* ➖ node-webpmux ➕ node-webpmux-commonjs
* ✏️ Fixed require mode
* :heavy_plus_sign:node-webpmux ➖ node-webpmux-commonjs
* ⬆️ Node-webpmux update changes
* 🚨 removing try/catch
* 🚨 complier warnings
* 🧐 stupid mistakes
* ⬆️ Upgrade required version
* 🐛 creating a buffer the right way
* 🐛 linting and simplification
* 🐛 unsimplification
* 🚨 eslint loves singlequotes
* ✨ Added emojis / categories in metadata
* 🏷️ TypeScript Declarations
* ✨ Sticker Categories in sendMessage
* 🏷️ Improved TS declarations
* fix stickerCategories type
* fix: don't set name/author if not defined
Co-authored-by: Marcelo Carvalho <mpirescarvalho17@gmail.com >
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
2021-05-31 19:13:30 -04:00
Pedro Lopez
6cece4a006
fix: emit disconnected event on page navigation
...
This also addresses an issue due to a change in behavior from WhatsApp Web when the session is logged out from the device.
2021-04-20 20:02:22 -04:00
Pedro Lopez
f1e2f32988
fix: click correct element on manual qr code refresh
2021-04-20 19:39:13 -04:00
Jacob Galam
e6015162c5
fix(types): media type in MessageSendOptions ( #554 )
...
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
2021-02-25 00:27:23 -04:00
Pedro S. Lopez
89029ac916
add docs
2021-02-09 00:43:45 -04:00
Raphael R
3e32fe27ea
feat: mark chat as unread ( #475 )
...
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
2020-12-29 00:33:49 -04:00
Marcelo Carvalho
e2a642a81b
feat: send media as stickers ( #479 )
...
Adds the option `sendMediaAsSticker` that will take care of converting media to appropriate formats and send it as a sticker. Note that ffmpeg is required to properly convert animated stickers that are not in webp format.
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
2020-12-29 00:33:49 -04:00
Pedro Lopez
0c0a5a752b
docs: fix slight typo
2020-12-29 00:33:49 -04:00
Marcelo Carvalho
e141a5df97
feat: send media as document ( #490 )
...
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
2020-12-29 00:33:49 -04:00
Lucas Rosa
576768e390
feat: Get registered ID for a given phone number ( #483 )
...
Exposes internal getNumberById function for easy usage.
This can help with dealing with brazilian numbers with the extra digit, always returning the correct ID.
This will probably eventually replace the current isRegisteredUser function.
Co-authored-by: Pedro Lopez <pedroslopez@me.com >
2020-12-29 00:33:49 -04:00
dyegoaurelio
274d24002b
feat: WA Business Labels support ( #407 )
...
* Get all labels
* Get chats by label
* Get labels assigned to chats
Co-authored-by: Pedro S. Lopez <pslamoros@hotmail.com >
Co-authored-by: Pedro Lopez <pedroslopez@me.com >
2020-12-29 00:33:49 -04:00
Pedro S. Lopez
9b096db784
feat: Send contacts ( #395 )
...
Introduces the ability to send contact cards. You can send Contacts directly or send a vCard string and it will be automatically parsed. If you'd like to disable this autoparse functionality, you can set `parseVCards: false` as an option while sending a message.
close #293
2020-10-25 22:44:37 -04:00
Aliyss Snow
aedf41b762
feat: Pin and unpin Chats ( #166 )
...
* Added Pinning
- chat.pin() to pin
- chat.unpin() to unpin
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
2020-10-11 15:50:12 -04:00
Pedro Lopez
ba6ec7feab
fix: apply message serialization fix everywhere
...
Moving this to a serializer function like done with a couple other models guarantees getting messages with pending acks won't fail elsewhere. It also sets it up so the we can add/remove properties on the Message model as needed in the future.
related: 51a1028588
2020-10-09 02:29:07 -04:00
Pedro Lopez
51a1028588
fix: remove pendingAckUpdate from serialization on changed message ack
...
As of WhatsApp Web v2.2041.6, a "pendingAckUpdate" property was added to the Message model that persists on serialization but is a non-serializable type. This fix removes it from the change:ack so it can be properly sent through puppeteer.
fix #371
2020-10-09 01:40:07 -04:00
Pedro Lopez
ab0db80063
fix: reliably get group metadata
...
GroupMetadata was only loaded for the first couple chats, so you could not access it on older group chats without performing an action that would update its state
close #264
2020-09-01 12:48:22 -04:00
Pedro Lopez
4344df6152
fix: properly detect successful authentication on dark mode
2020-08-25 21:40:57 -04:00
Pedro Lopez
9da553ecb9
feat: Set client's display name (pushname)
2020-08-17 22:19:29 -04:00
stefanfuchs
5c84a1651d
chore: add missing types in JSDoc/TSDoc (ClientOptions, ClientInfo, MessageSendOptions, Session) ( #286 )
...
* chore: add ClientOptions and ClientInfo in JSDoc
* chore: add MessageSendOptions type
* chore: add ClientSession type in JSDoc
* chore: remove @todo from createGroup (was already solved)
Co-authored-by: Pedro Lopez <pedroslopez@me.com >
2020-08-03 02:52:37 -04:00
stefanfuchs
bfea74f567
fix: add missing type definitions ( #278 )
...
* fix: @todo docs improvements
* fix: add ClientInfo to Client typings
* add ClientInfoPhone
* fix: set getBatteryStatus as async
* add ClientInfo comment
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com >
2020-07-11 02:58:57 -04:00
YY
a10b458cd5
feat: custom user Agent in Client ( #271 )
...
* Added Option to Custom User Agent in Client
* Update Typescript Index
* Delete Variable UserAgent From Client
* Update Variable UserAgent to userAgent
2020-07-03 02:05:23 -04:00
Pedro Lopez
300b367fa0
feat: logout client
...
close #255
2020-06-17 23:58:02 -04:00
Pedro Lopez
ad9ae1f703
fix: move invite info to client
...
Since static methods do not have access to `this.client`, it was giving an error when trying to call these functions. The client itself is a better place for them.
close #258
2020-06-17 23:29:34 -04:00
Javier Portillo
2abd3729d8
fix: clear qr refresh interval on client.destroy() ( #249 )
...
* fix: client.destroy() keeps trying to get QR code when client is not authorized yet
Co-authored-by: Javier Portillo <javier.marquez@dada-dada.com >
2020-06-08 22:31:22 -04:00