Commit graph whatsapp-web.js/src
Author SHA1 Message Date
Filipe
dd9df4083a
fix: use markSeen instead of sendSeen to fix markedUnread error (#5719)
Fixes TypeError: Cannot read properties of undefined (reading 'markedUnread')
that occurs in newer WhatsApp Web versions.

The sendSeen method was removed/changed in recent WhatsApp Web updates.
Using markSeen resolves the issue.

Fixes #5718

Co-authored-by: cp1797 <cp1797@users.noreply.github.com>
Co-authored-by: eltonnicolau <eltonnicolau@users.noreply.github.com>
Co-authored-by: telmedola <telmedola@users.noreply.github.com>
Co-authored-by: qw271862028 <qw271862028@users.noreply.github.com>
Co-authored-by: duola8789 <duola8789@users.noreply.github.com>
2026-01-19 15:54:31 +02:00
Pedro S Lopez
c13510e907 chore: fix jsdoc invalid types 2026-01-05 01:40:46 -04:00
BenyFilho
143662eae2
Fix Auth Timeout Error (#5666)
* Fix Auth Timeout Error

* fixing Auth Timeout Error
2025-12-15 10:41:15 +02:00
tuyuribr
0439d7f123
New compatibilities (#3973)
* New compatibilities

* Update Client.js

* 1

* Update Client.js

* 3

* Update Client.js

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-12-13 06:55:09 +02:00
Lai Ting Yang
de072a1c7c
fix: add missing downloadQpl parameter to downloadAndMaybeDecrypt (#4010)
Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-12-13 06:54:14 +02:00
RendyCraft047
6aa1bd85ab
feat: whatsapp stories implementation (#3994)
* support sending message from status broadcast

* add to index.d.ts

* add method to contact

* new modules

* Update Utils.js

* add for the examples

* add color assertion function

* finishing..

* added waveforms for audio messages and minor fixes

* fix eslint

* refactor

reorganize the store to include additional modules.

* adapt

* the last one.

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-12-13 06:34:55 +02:00
fallenleavesbuy
dec1bee842
chore: fix never resolve promise when downloading expired media (#4012)
Co-authored-by: fallenleavesguy <no@email.com>
2025-12-13 06:19:10 +02:00
BenyFilho
5438c2042b
Fixing msg.getContact and getContactById (#3978) 2025-11-25 11:25:27 -03:00
RendyCraft047
d815847d3e
fix: addition and improvement of enumerable values on types (#3740)
* Update index.d.ts

* Update Constants.js

* fix

* `code_received` is missing too

* album message types

* add to index.d.ts

* fix types error
2025-11-20 11:30:54 +00:00
Jan Loewe
166dc73c73
feat(ScheduledEvent): add none option for callType (#3838) 2025-11-20 11:28:32 +00:00
RendyCraft047
a31607e2dc
fix unpin messages (#3839)
Co-authored-by: tuyuribr <45042245+tuyuribr@users.noreply.github.com>
2025-11-20 13:25:36 +02:00
Conan Yu
34b787a795
fix: send image rendering blured (#3775)
Co-authored-by: Yu <>
Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-11-09 22:39:25 +00:00
RendyCraft047
0c36613cc7
feat+fix: send vote messages & vote update event (#3913)
* add send vote function

* Update index.d.ts

* fix and add required modules

* fix poll update in group chat

* adjustments to improvements

* add example usages

* fix eslint

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-11-09 16:37:51 -03:00
BenyFilho
05f651b521
Fix Group setAddMembersAdminsOnly setMessagesAdminsOnly setInfoAdminsOnly (#3933)
* Add module to setGroupProperty

* Update methods setAddMembersAdminsOnly setMessagesAdmin setInfoAdminsOnlysOnly

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-11-06 19:34:53 +00:00
BenyFilho
4327a5f681
Fix method openChatWindow (#3936)
Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
2025-11-06 21:32:06 +02:00
BenyFilho
6876dd236b
Fix method saveOrEditAddressbookContact (#3923)
* Fix method saveOrEditAddressbookContact

* Update saveOrEditAddressbookContact return void

* Update saveOrEditAddressbookContact return void
2025-11-04 16:30:25 -03:00
BenyFilho
b3caffa796
Fix getCommonGroups (#3921) 2025-11-04 19:14:17 +00:00
BenyFilho
0cdfda238f
Fix Reject Calls (#3909) 2025-11-04 19:13:18 +00:00
BenyFilho
829dd7f6d0
Fix Message Forward (#3910) 2025-11-04 16:09:42 -03:00
BenyFilho
472234da53
Fix PushNotifications (#3801) 2025-10-07 19:27:36 +00:00
BenyFilho
90dc8c8ad4
Fix Mention in Large Groups (#3803)
* Fix Mentioning in Large Groups

* Update Utils.js

* Update Utils.js

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-10-07 19:25:48 +00:00
BenyFilho
7c7851f4d4
feat: getPollVotes (#3807)
* Add required module

* Add getPollVotes function

* Add getPollVotes function

* Add getPollVotes function

* Add Message.getPollVotes

* Add Message.getPollVotes
2025-10-07 19:24:05 +00:00
BenyFilho
87a310a2de
Fix Contact getAbout method (#3833) 2025-10-07 19:12:50 +00:00
RendyCraft047
9b3d987711
fix: getPinnedMessages() (#3797)
* fix duplicate store

* fix: handle async calls properly

* fix: filter out only pinned messages

Co-authored-by: BenyFilho <168232825+BenyFilho@users.noreply.github.com>

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
Co-authored-by: BenyFilho <168232825+BenyFilho@users.noreply.github.com>
2025-10-07 22:11:37 +03:00
alechkos
7304ec2135
feat: get/add/edit customer notes (#3806)
* feat: add required module

* feat: add 'addOrEditCustomerNote' function

* feat: add 'getCustomerNote' function

* fix: check for logic availability

* feat: add 'Chat.addOrEditCustomerNote'

* feat: add Chat.getCustomerNote
2025-09-27 11:35:22 -03:00
BenyFilho
0825033850
Fix Disconnections - **UPDATED REINSTALL IT** (#3811)
* Update window.injectToFunction

* Fix window.injectToFunction

* window.injectToFunction

* Fix window.injectToFunction

* Fix window.injectToFunction

* Removing override isLidMigrated
2025-09-26 00:37:32 +03:00
BenyFilho
ae7bbe7f37
Fix Inject Module Function (#3795)
* fix inject module function

* Update src/util/Injected/Store.js

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-09-10 17:14:20 +03:00
alechkos
d077716315
fix: enforce retrieval lid and phone for previously unknown contacts (#3702)
* fix: check existance if undefined

* fix: handle missing lid/phone in group participant resolution

* refactor: remove duplicated logic
2025-09-06 18:24:19 +03:00
BenyFilho
c9665438f6
Fix method participant on sendMessage (#3778)
* Fix method participant on sendMessage

* Update Utils.js

* Update Utils.js
2025-09-06 00:20:36 +03:00
Seow Zhen Jun
5276e30ac6
fix: Lid is missing in chat table (#3703)
* Use window.Store.FindOrCreateChat.findOrCreateLatestChat to get chat

* refactor: change find to findOrCreateLatestChat

* refactor: update 'injectToFunction' to support nested props in modules

* fix: resolve 'Lid is missing in chat table' error

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-09-05 22:19:15 +03:00
BenyFilho
4ac22c8c37
fix Event Ready Again and SendMessage (#3747)
* fix Event Ready Again

* Fixing SendMessage

* Fixing RejectCall
2025-09-02 03:56:56 +03:00
BenyFilho
6d496560b2
Fix Method window.Store.User.getMaybeMeUser() (#3727) 2025-08-30 19:11:34 +03:00
Fernando Mondo
912b78d299
fix: Add protocolMessageKey and fix revoked messages to preserve original before.id (#3715)
* Add protocolMessageKey and fix revoke

* Add protocolMessageKey and fix revoke

* docs: add explanation
2025-08-28 17:39:22 +03:00
alechkos
2ac982ee1c
fix: return poll vote reactions (#3694)
* wip: return poll vote reactions

* wip: add module

* wip: return poll vote reactions

* wip: return poll vote reactions

* Update Client.js

* Update PollVote.js

* wip: use async getMessagesById

* Update Client.js

* style: clean shit

* style: reformat code

---------

Co-authored-by: tuyuribr <45042245+tuyuribr@users.noreply.github.com>
2025-08-28 11:32:37 +03:00
Jie
6d3078fd77
fix: Correct method invocation (#3720) 2025-08-27 01:34:43 +03:00
alechkos
bd677a8a66
fix: send message properly (#3692)
* fix: remove high cpu consumption by adding waiting for message logic

 Co-authored-by: Shir Serlui <70711723+shirser121@users.noreply.github.com>

* refactor: use already defined msg id

* refactor: use optional arg for waiting for msg ack
2025-08-12 07:33:02 +03:00
Shir Serlui
ecb50450b7
Fix checking if sending to a group (#3592)
* Fix checking if sending to a group

* chore: mark channels as done feature

* refactor: add safety check for chat.id.isGroup

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-08-09 00:46:18 +03:00
BenyFilho
6953a6a5d2
Fix: Remove, Promote and Demote Participants (#3674)
* Fix: Remove, Promote and Demote Participants

* Adjust to convert @lid to phone

* Update src/structures/GroupChat.js

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Update src/structures/GroupChat.js

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Update src/structures/GroupChat.js

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-08-09 00:38:22 +03:00
Mob Code 100
b5adf47664
feat: Switch between QR or phone number pairing method (#3180)
* fix(webpack-exodus): Added the new patch

* fix(webpack-exodus): Fixed v2.3000.x and v2.24

* chore(webpack-exodus): eslint

* fix(webpack-exodus): Fixed Store

* fix(webpack-exodus): slight store fix

* chore(webpack-exodus): fix example so that I don't crash on every load

* chore: eslint fix

* fix(webpack-exodus): prevent confusion with build systems

* fix(webpack-exodus): Add proper groups module

* fix(webpack-exodus): Fix order queries

* fix(webpack-exodus): Bad export name

* feat(webpack-exodus): Re-injection, No more selectors, Pairing Code auth

* fix(webpack-exodus): Eslint and better login/logout handling

* fix(webpack-exodus): 2.24 compatibility

* revert testing options

* chore(webpack-exodus): ESLint

* chore(webpack-exodus): final eslint tweak (did not commit with last commit for some reason)

* style: fix broken link in readme file

* fix(webpack-exodus): Fix forwarding messages

* fix(webpack-exodus): finish forwarding function

* Making the ESLint god happy

* Fix window.Store.ProfilePic.profilePicFind is not a function error (#3001)

* Change window.Store.ProfilePic.profilePicFind to window.Store.ProfilePic.requestProfilePicFromServer

* Prevent breaking v2.2x

* refactor: make it more readable

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Sanitize, improves and fixes

* make ESList god happy

* fix getInviteCode for group (#3007) (#3029)

* fix getInviteCode for group (#3007)

* move changes to proper getInviteCode method.

* style fix

* refactor: add try-catch in a case the user is not a group admin

* refactor: handle promise properly

---------

Co-authored-by: Sven Neumann <s.neumann@websix.de>
Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* fixes

* Update LocalWebCache.js

* fix delete on 2.3000 (#3048)

* fix delete on 2.3000

* fix compareWwebVersions

* fix: use proper comparison operator

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Implement bot invoking capabilities (#3009)

* Implement bot invoking capabilities

* Update index.d.ts

* Eslint

* Webpack exodus fix message_reaction event (#3099)

* exposed WAWebAddonReactionTableMode

* capture reaction using WAWebAddonReactionTableMode

* move compareWwebVersions and check version before trying to expose new store

* message_reaction on example.js (#3102)

* handle message_reaction event on example.js

* log wweb version on ready

* fix reactions on pvt chats (#3104)

* New group function

* new group settings

* Update Client.js

* Switch pairing method between QR and phone number

* Remove existing pairing code interval

* Modify example.js

* Update docs

* Small improvements in inject function

* Fix ESLint

* example.js correction

* docs: fix docs for 'requestPairingCode' method

Co-authored-by: Leandro Matilla <30844484+wis-dev@users.noreply.github.com>

* Update Utils.js getChatModel because Meta chat object affected Group Chats

* Ajust to set isGroup as false as default

* Remove the need for custom interval

* Fix typo

* Fix intermittent response bug #9864

Co-authored-by: Mob Code 100 <66469454+MobCode100@users.noreply.github.com>

* fix: eslint fix

* Revert "Remove the need for custom interval"

This reverts commit c5d5e5626684742cadbf58f28739c1c2c9dcc582.

* Add wait for PairingCodeLinkUtils on requestPairingCode

* Remove unused vars WhatsWebStaticURL

Co-authored-by: Mob Code 100 <66469454+MobCode100@users.noreply.github.com>

* style: format code

---------

Co-authored-by: Rajeh Taher <rajeh@reforward.dev>
Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
Co-authored-by: tuyuribr <45042245+tuyuribr@users.noreply.github.com>
Co-authored-by: Seow Zhen Jun <56989187+seowzhenjun0126@users.noreply.github.com>
Co-authored-by: Sven <sven2neumann@gmail.com>
Co-authored-by: Sven Neumann <s.neumann@websix.de>
Co-authored-by: Jorge Rocha Gualtieri <jorge@jrg.com.br>
Co-authored-by: Mateus Mercer <accounts@matbm.net>
Co-authored-by: Leandro Matilla <30844484+wis-dev@users.noreply.github.com>
Co-authored-by: BenyFilho <168232825+BenyFilho@users.noreply.github.com>
Co-authored-by: Shir Serlui <70711723+shirser121@users.noreply.github.com>
2025-08-09 00:37:25 +03:00
alechkos
f9db14d185
feat: Event messages (#3345)
* feat: add createCallLink function

* feat: create Event class

* feat: add functionality for sending Events

* feat: add editEvent function

* refactor: send event location prop as wa does

* refactor: combine modules

* feat: add sendResponseToEvent function

* fix: createEventCallLink parameter

* docs: add documentation

* fix: eslint

* refactor: change timestamp to Date for the user's convenience

* refactor: rename 'Event' to 'ScheduledEvent' for more clarity

* style: fix typo in inner function

* refactor: remove unnecessary inner function

* refactor: rename 'sendResponseToEvent' to 'sendResponseToScheduledEvent' for more clarity

* fix: update the module name
2025-08-09 00:36:27 +03:00
alechkos
ab321f3d7e
fix: Message.pin and Message.unpin (#3319)
* fix: update function to wweb version >2.3000.0

* feat: add foolproof check

* fix: override internal function correctly
2025-08-09 00:35:40 +03:00
alechkos
18b1d32825
feat: get pinned messages (#3004)
* feat: add getPinnedMessage method

* docs: add docs for the method

* chore: fix eslint

* refactor: change logic of getting pinned messages

* refactor: combine all PinnedMsgUtils

* chore: remove comments and mark as ready for review

* style: fix typo

Co-authored-by: crazynds <36674096+crazynds@users.noreply.github.com>

---------

Co-authored-by: crazynds <36674096+crazynds@users.noreply.github.com>
2025-08-09 00:34:52 +03:00
BenyFilho
35133a72fc
Fix Message Forward (#3680)
* Fix Message Forward

* Fix Message Forward

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-08-06 15:51:36 +03:00
alechkos
ca30ac4b18
feat: customise linked device name (#3325)
* feat: add functionality for setting device and browser names

* feat: add usage example

* feat: add usage example

* docs: add docs for new functionality

* docs: add missing property

* docs: supplement the implementation documentation
2025-08-06 15:50:42 +03:00
BenyFilho
81fd090e36
fix: Client.createGroup + GroupChat.addParticipants (#3670)
* Adjustment addParticipants

* createGroup fully refactored, fixed bugs, added creation options and updated docs

* fix: eslint fix

* refactor: GroupChat.addParticipants fully refactored

* fix: eslint fix

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-08-01 06:43:45 +03:00
BenyFilho
81fb154a9f
feat: getContactLidAndPhone (#3673)
* Add method getContactLidOrPhone

* Add method getContactLidOrPhone

* Add method getContactLidOrPhone

* Add method getContactLidOrPhone

* Add method getContactLidOrPhone

* Add method getContactLidOrPhone

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Add method getContactLidOrPhone

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Add method getContactLidOrPhone

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Add method getContactLidOrPhone

* Delete docs/index.html

* Delete docs/Client.html

* Create Client.html

* Create index.html

* Update to return the object

* Update to return an object

* Update Client.js to return both objects lid and phone

* Update Client.js to return both objects lid and phone

* Update src/Client.js

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Update src/Client.js

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* Update index.d.ts

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>

* refactor: rename function name for more clarity

* Change accept and return Array

* Change accept and return Array

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-07-29 17:39:39 +03:00
devlikeapro
bd08b69c87
Fix send seen on chat - Stream markAvailable (#3663)
fix #3540
2025-07-20 11:07:15 +03:00
Ajetunmobi Isaac
eaa8445ec0
fix error when processing poll messages without messageSecret in channels (#3617)
Co-authored-by: Shir Serlui <70711723+shirser121@users.noreply.github.com>
2025-06-30 09:40:14 +03:00
BenyFilho
90f2222df0
Fix .sendMessage return (#3612)
Fix sendMessage return
2025-06-26 21:16:20 +03:00
BenyFilho
daaa04445f
Fix Send Animated Sticker (#3591)
* Fix Send Animated Sitckers

* Update Utils.js

* Add a condition to ignore channels

Add a condition to ignore channels and keep compatibility.

* chore: mark channels as done feature

---------

Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
2025-06-10 09:14:21 +03:00