Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
430 commits
Select commit Hold shift + click to select a range
58fc39f
[BUG] fixed poll docs (#2652)
alechkos Nov 26, 2023
d81b743
fix: window.Store.getMsgInfo is not a function (#2651)
shirser121 Dec 1, 2023
4009bb7
feat: Add Bussines Contact Types (#2369)
shirser121 Dec 1, 2023
3dab4a3
fix: `message_edit` event and edit caption in file (#2617)
tofers Dec 5, 2023
1e21764
Change Supported features (#2443)
tuyuribr Dec 5, 2023
b5eb4f9
Fix Cannot read properties of undefined (reading 'mediaStage') in mes…
elhumbertoz Dec 7, 2023
5001a89
1.23.1-alpha.1
wwebjs-bot Dec 12, 2023
ac0a500
Fix link preview (#2681)
shirser121 Dec 12, 2023
981fa82
fix: send docs without caption (#2660)
alechkos Dec 12, 2023
1dd35be
feat: event `message_ciphertext` (#2292)
tofers Dec 16, 2023
84f550a
1.23.1-alpha.2
wwebjs-bot Dec 17, 2023
1e9b82b
Reduce supply chain attacks vectors (#2691)
tuyuribr Dec 17, 2023
7851ad5
1.23.1-alpha.3
wwebjs-bot Jan 2, 2024
2100853
Fix: Wrong import of Contact object (#2715)
shirser121 Jan 11, 2024
8d683a6
feat: pin/unpin messages (#2692)
alechkos Jan 11, 2024
e0d955f
feat: group mentions + improved user mentions (#2602)
alechkos Jan 11, 2024
bd7cf9b
fix: link retrieval from message (#2716)
alechkos Jan 14, 2024
1c26913
1.23.1-alpha.4
wwebjs-bot Jan 14, 2024
ef2f725
Fix TS compilation error "Statements are not allowed in ambient conte…
pierrecorsini Jan 18, 2024
a339199
Fix isOfficialClient (#2794)
purpshell Mar 1, 2024
72a1881
1.23.1-alpha.5
wwebjs-bot Mar 1, 2024
79f0563
Upgrade node version (#2129)
tuyuribr Apr 3, 2024
6d4ec61
style: guide link fix and detailed description (#2972)
qzdark Apr 22, 2024
5b301bb
fix: logo link (#2994)
qzdark Apr 27, 2024
aa26876
Update Client.js (#2813)
Bauguelson Apr 28, 2024
b99d28c
Add members settings (#2788)
GulgDev Apr 28, 2024
8c810a8
Fix: delete lines that remove data from this._data (#2958)
shirser121 Apr 29, 2024
01714fe
feat: `vote_update` event (#2596)
alechkos Apr 30, 2024
b856093
1.23.1-alpha.6
wwebjs-bot Apr 30, 2024
41b280c
Expose chat `pinned` property (#2771)
Rakambda May 1, 2024
9847eba
Make an NPM release via GitHub (#2942)
purpshell Jun 4, 2024
24b11b7
1.24.0
wwebjs-bot Jun 9, 2024
13ce571
Farewell, Webpack! Re-injection, Pairing Code login, and 2.24x jumbof…
purpshell Jul 24, 2024
066d8fa
1.25.0
wwebjs-bot Jul 24, 2024
22af9df
Handling client.logout() Exception gracefully with optional chaining …
ayushmourya Sep 14, 2024
951ff7b
fix: sendMessage with quoted message id (#3260)
alwinlubbers Sep 14, 2024
f203523
Allow access to the original error object (#3252)
shirser121 Sep 14, 2024
1591350
chore: add typecheck to data.from and data.to when creating the invit…
matheuskuster Sep 15, 2024
8fdf2b8
fix: getMessageById false error with group chat message id (#3265)
alwinlubbers Sep 15, 2024
d2597bb
Count user connected devices (#3223)
tuyuribr Sep 18, 2024
01c4504
docs: generate docs for the latest release (#3279)
alechkos Sep 18, 2024
e7265a3
1.26.0
wwebjs-bot Sep 18, 2024
0fa6ebb
Sync history conversation of the Chat (#3281)
momokang Sep 20, 2024
5b0e061
fix: make function getContactDeviceCount work (#3284)
alechkos Sep 23, 2024
796a0a2
Update Client.js (#3286)
bpena Sep 23, 2024
e470c82
Use idempotent exposeFunctionIfAbsent (no reinject flag) (#3233)
devlikepro Sep 25, 2024
b4c5761
fix: hotfix the 'openChatWindow' function (#3291)
alechkos Sep 25, 2024
bf4aed2
1.26.1-alpha.0
wwebjs-bot Sep 25, 2024
4aef1ff
fix: openChatWindow (#3293)
Lavyk Sep 26, 2024
6e53258
1.26.1-alpha.1
wwebjs-bot Sep 26, 2024
289b354
fix: pass client reference correctly (#3296)
alechkos Sep 30, 2024
5b0e139
Get Stories (#3294)
tofers Sep 30, 2024
1e03ca6
chore: update issue templates (#3298)
alechkos Sep 30, 2024
17d63a5
fix: change the logic of wweb version retrieving (#3299)
alechkos Oct 4, 2024
6887c4a
fix: enable docs generation before the release (#3300)
alechkos Oct 4, 2024
058a799
Update supported WhatsApp Web version to v2.3000.0 (#2616)
github-actions[bot] Oct 4, 2024
4694e83
1.26.1-alpha.2
wwebjs-bot Oct 4, 2024
fc722dd
chore(): generate docs
wwebjs-bot Oct 4, 2024
301c9af
Fix isGroup (#3380)
BenyFilho Nov 22, 2024
6f11c24
1.26.1-alpha.3
wwebjs-bot Nov 22, 2024
5df83b0
chore(): generate docs
wwebjs-bot Nov 22, 2024
f56d25f
Add max retries for fs.promises.rm (#3351)
devlikepro Dec 23, 2024
441a3a6
Fix Group getInviteCode (#3492)
BenyFilho Mar 26, 2025
6f5a34b
1.27.0
wwebjs-bot Mar 27, 2025
d26d875
chore(): generate docs
wwebjs-bot Mar 27, 2025
6d16555
fix: getCountryCode (#3292)
alechkos Mar 27, 2025
ad11b5b
Send message without quote if quoteFails (#3475)
tuyuribr Apr 24, 2025
0ad998d
Fix groupChat addParticipants (#3543)
BenyFilho May 12, 2025
f6f4790
1.28.0
wwebjs-bot May 12, 2025
c018e2d
chore(): generate docs
wwebjs-bot May 12, 2025
007ee59
Update Utils.js to fix chat.isReadOnly (#3515)
BenyFilho May 30, 2025
cefc403
fix: change resetState evaluate function (#3358)
gusfahmi May 30, 2025
c0ba5e5
feat: Setting background synchronization (#3331)
tofers May 30, 2025
90b71cc
fix: `openChatWindowAt` function (#3347)
alechkos May 30, 2025
c67980d
fix: `setDisplayName` changes name only locally (#3302)
alechkos May 30, 2025
c6b6fb1
fix: puppeteer connection with browser url (#3518)
btmluiz May 30, 2025
0d04061
fix: remove serialization on already deserialized object (#3350)
alechkos May 30, 2025
bad202d
fix: fix 'delete' method for messages (#3301)
alechkos May 30, 2025
385e3cc
fix: chat instance retrieving in `syncHistory` (#3342)
alechkos May 30, 2025
e62f15e
Able to forward with caption (#3463)
momokang May 30, 2025
3836309
Fix the Location declaration (#3555)
May 30, 2025
494a18d
Support lid me user in message id (#3570)
shirser121 May 30, 2025
d29eaf7
feat: save contact to addressbook (#3533)
alechkos May 30, 2025
91217f8
fix: `Chat.isMuted` (#2999)
alechkos May 30, 2025
5ad6a03
1.28.1-alpha.0
wwebjs-bot May 30, 2025
f41d1e2
chore(): generate docs
wwebjs-bot May 30, 2025
dd257b2
feat: `@­lid` support (#3571)
alechkos May 31, 2025
d0642b7
feat: `Channel` (#2620)
alechkos May 31, 2025
477db5a
1.29.0
wwebjs-bot May 31, 2025
2128f97
chore(): generate docs
wwebjs-bot May 31, 2025
f7d0456
hotfix: fix window.WWebJS.getChatModel (#3573)
alechkos Jun 2, 2025
de7bbf4
1.30.0
wwebjs-bot Jun 2, 2025
57cdc88
chore(): generate docs
wwebjs-bot Jun 2, 2025
94ce20b
fix: change mentionedIds type from ChatId[] to string[] in Message (#…
yusifaliyevpro Jun 2, 2025
c142c3b
fix(vcard): parse vcard module (#1995)
CyrilLacroix Jun 2, 2025
0ffb66f
feat: send Media HD (#3535)
tofers Jun 2, 2025
c7e660a
1.30.1-alpha.0
wwebjs-bot Jun 2, 2025
8d2ac31
chore(): generate docs
wwebjs-bot Jun 2, 2025
bbc089a
fix: 🐛 quote message obj (#3586)
hcfw007 Jun 3, 2025
755cb6c
fix: `window.WWebJS.getChatModel` (#3587)
alechkos Jun 4, 2025
4227b04
1.30.1-alpha.1
wwebjs-bot Jun 4, 2025
e1b0cdc
chore(): generate docs
wwebjs-bot Jun 4, 2025
d2fe324
fix: `GroupChat.setPicture` (#3593)
alechkos Jun 5, 2025
1dd7125
1.30.1-alpha.2
wwebjs-bot Jun 5, 2025
b2bb340
chore(): generate docs
wwebjs-bot Jun 5, 2025
daaa044
Fix Send Animated Sticker (#3591)
BenyFilho Jun 10, 2025
5a590b2
1.30.1-alpha.3
wwebjs-bot Jun 11, 2025
7219902
chore(): generate docs
wwebjs-bot Jun 11, 2025
6290627
chore(deps): bump fluent-ffmpeg from 2.1.2 to 2.1.3 (#3311)
dependabot[bot] Jun 15, 2025
90f2222
Fix .sendMessage return (#3612)
BenyFilho Jun 26, 2025
8ab5c88
1.31.0
wwebjs-bot Jun 26, 2025
6c75d18
chore(): generate docs
wwebjs-bot Jun 26, 2025
fcb58d3
Fix TS2371 error in requestPairingCode type declaration (#3622)
Swaraj2004 Jun 30, 2025
eaa8445
fix error when processing poll messages without messageSecret in chan…
iNerdStack Jun 30, 2025
0bda2bc
1.31.1-alpha.0
wwebjs-bot Jun 30, 2025
fe906af
chore(): generate docs
wwebjs-bot Jun 30, 2025
bd08b69
Fix send seen on chat - Stream markAvailable (#3663)
devlikepro Jul 20, 2025
81fb154
feat: getContactLidAndPhone (#3673)
BenyFilho Jul 29, 2025
81fd090
fix: `Client.createGroup + GroupChat.addParticipants` (#3670)
BenyFilho Aug 1, 2025
ca30ac4
feat: customise linked device name (#3325)
alechkos Aug 6, 2025
35133a7
Fix Message Forward (#3680)
BenyFilho Aug 6, 2025
44418e6
fix(types): update mentions type in MessageEditOptions (#3691)
eni4sure Aug 7, 2025
18b1d32
feat: get pinned messages (#3004)
alechkos Aug 8, 2025
ab321f3
fix: `Message.pin` and `Message.unpin` (#3319)
alechkos Aug 8, 2025
f9db14d
feat: `Event` messages (#3345)
alechkos Aug 8, 2025
b5adf47
feat: Switch between QR or phone number pairing method (#3180)
MobCode100 Aug 8, 2025
6953a6a
Fix: Remove, Promote and Demote Participants (#3674)
BenyFilho Aug 8, 2025
b296ea8
1.32.0
wwebjs-bot Aug 8, 2025
30b3f5e
chore(): generate docs
wwebjs-bot Aug 8, 2025
ecb5045
Fix checking if sending to a group (#3592)
shirser121 Aug 8, 2025
bd677a8
fix: send message properly (#3692)
alechkos Aug 12, 2025
6d3078f
fix: Correct method invocation (#3720)
DimplesY Aug 26, 2025
2ac982e
fix: return poll vote reactions (#3694)
alechkos Aug 28, 2025
912b78d
fix: Add protocolMessageKey and fix revoked messages to preserve orig…
fernandomondo Aug 28, 2025
dc866e7
1.33.0
wwebjs-bot Aug 28, 2025
14a391a
chore(): generate docs
wwebjs-bot Aug 28, 2025
6d49656
Fix Method window.Store.User.getMaybeMeUser() (#3727)
BenyFilho Aug 30, 2025
6549b11
1.33.1
wwebjs-bot Aug 30, 2025
f1fe3aa
chore(): generate docs
wwebjs-bot Aug 30, 2025
4ac22c8
fix Event Ready Again and SendMessage (#3747)
BenyFilho Sep 2, 2025
42501d2
1.33.2
wwebjs-bot Sep 2, 2025
c89cb56
chore(): generate docs
wwebjs-bot Sep 2, 2025
5276e30
fix: Lid is missing in chat table (#3703)
seowzhenjun0126 Sep 5, 2025
c966543
Fix method participant on sendMessage (#3778)
BenyFilho Sep 5, 2025
ef49b8a
1.33.3
wwebjs-bot Sep 5, 2025
54a77cf
chore(): generate docs
wwebjs-bot Sep 5, 2025
d077716
fix: enforce retrieval lid and phone for previously unknown contacts …
alechkos Sep 6, 2025
96ae229
1.34.0
wwebjs-bot Sep 6, 2025
93559bb
chore(): generate docs
wwebjs-bot Sep 6, 2025
ae7bbe7
Fix Inject Module Function (#3795)
BenyFilho Sep 10, 2025
65124b0
1.34.1
wwebjs-bot Sep 10, 2025
13e7b5e
chore(): generate docs
wwebjs-bot Sep 10, 2025
0825033
Fix Disconnections - **UPDATED REINSTALL IT** (#3811)
BenyFilho Sep 25, 2025
7304ec2
feat: get/add/edit customer notes (#3806)
alechkos Sep 27, 2025
9b3d987
fix: getPinnedMessages() (#3797)
RC047 Oct 7, 2025
87a310a
Fix Contact getAbout method (#3833)
BenyFilho Oct 7, 2025
7c7851f
feat: getPollVotes (#3807)
BenyFilho Oct 7, 2025
90dc8c8
Fix Mention in Large Groups (#3803)
BenyFilho Oct 7, 2025
472234d
Fix PushNotifications (#3801)
BenyFilho Oct 7, 2025
412b702
docs(readme): overhaul (#3898)
Oct 15, 2025
829dd7f
Fix Message Forward (#3910)
BenyFilho Nov 4, 2025
0cdfda2
Fix Reject Calls (#3909)
BenyFilho Nov 4, 2025
b3caffa
Fix getCommonGroups (#3921)
BenyFilho Nov 4, 2025
6876dd2
Fix method saveOrEditAddressbookContact (#3923)
BenyFilho Nov 4, 2025
2dbcf8a
1.34.2
wwebjs-bot Nov 6, 2025
28a2d36
chore(): generate docs
wwebjs-bot Nov 6, 2025
4327a5f
Fix method openChatWindow (#3936)
BenyFilho Nov 6, 2025
05f651b
Fix Group setAddMembersAdminsOnly setMessagesAdminsOnly setInfoAdmins…
BenyFilho Nov 6, 2025
0c36613
feat+fix: send vote messages & vote update event (#3913)
RC047 Nov 9, 2025
34b787a
fix: send image rendering blured (#3775)
ConanYuxj Nov 9, 2025
a31607e
fix unpin messages (#3839)
RC047 Nov 20, 2025
166dc73
feat(ScheduledEvent): add none option for callType (#3838)
jloewe Nov 20, 2025
d815847
fix: addition and improvement of enumerable values on types (#3740)
RC047 Nov 20, 2025
5438c20
Fixing msg.getContact and getContactById (#3978)
BenyFilho Nov 25, 2025
dec1bee
chore: fix never resolve promise when downloading expired media (#4012)
fallenleavesguy Dec 13, 2025
6aa1bd8
feat: whatsapp stories implementation (#3994)
RC047 Dec 13, 2025
de072a1
fix: add missing downloadQpl parameter to downloadAndMaybeDecrypt (#4…
LTY526 Dec 13, 2025
0439d7f
New compatibilities (#3973)
tuyuribr Dec 13, 2025
611b7c6
1.34.3
wwebjs-bot Dec 13, 2025
376c606
chore(): generate docs
wwebjs-bot Dec 13, 2025
143662e
Fix Auth Timeout Error (#5666)
BenyFilho Dec 15, 2025
6c8286e
1.34.4
wwebjs-bot Jan 5, 2026
f1cd985
chore(): generate docs
wwebjs-bot Jan 5, 2026
8d9130e
fix release script, use OIDC (#5713)
pedroslopez Jan 5, 2026
180190a
1.34.5-alpha.0
wwebjs-bot Jan 5, 2026
c13510e
chore: fix jsdoc invalid types
pedroslopez Jan 5, 2026
eaaa2ec
1.34.5-alpha.1
wwebjs-bot Jan 5, 2026
b5cf37a
chore(1.34.5-alpha.1): generate docs
wwebjs-bot Jan 5, 2026
bf551fb
1.34.5-alpha.2
wwebjs-bot Jan 5, 2026
eb45d2e
chore(1.34.5-alpha.2): generate docs
wwebjs-bot Jan 5, 2026
04c1d0c
fix(ci): set up OIDC machine, avoid pushing incomplete version commits
pedroslopez Jan 5, 2026
0671463
chore(v1.34.5-alpha.3): bump version and generate docs
wwebjs-bot Jan 5, 2026
dd9df40
fix: use markSeen instead of sendSeen to fix markedUnread error (#5719)
fm1randa Jan 19, 2026
fc2e97e
Refactor sendSeen to include threadId parameter
DnTora Jan 29, 2026
c61a2ef
fix: send sticker
DnTora Jan 29, 2026
84c45c9
Fixing method saveOrEditAddressbookContact (#5673)
BenyFilho Jan 30, 2026
303caf9
Fix deleteAddressbookContact (#5672)
BenyFilho Jan 30, 2026
b03680a
Fixes media upload to channels (#5697)
noelcarcasesLYN Jan 30, 2026
6c3f10e
fix: update call handling for recent WhatsApp Web changes (#5775)
alessandrocampos224 Jan 30, 2026
47bf416
Update update.yml (#3952)
tuyuribr Jan 30, 2026
58990a8
change concurrency 10 (#3330)
YovanggaAnandhika Jan 30, 2026
e6fd112
Store RemoteAuth ZIP files inside dataPath (#3375)
vedantmgoyal9 Jan 30, 2026
949c637
Update Chat.js (#5712)
tuyuribr Jan 30, 2026
d5fd776
avoid hang by closing browser only if connected (#3847)
Adi1231234 Jan 30, 2026
207a5ad
Fix getChats (#5779)
BenyFilho Jan 30, 2026
ce9dd1d
Removing unused and unavailable module (#5785)
BenyFilho Jan 30, 2026
32e4042
Fix Channels WhatsApp module change (#5787)
BenyFilho Jan 30, 2026
92e7e0d
chore(v1.34.5): bump version and generate docs
wwebjs-bot Jan 30, 2026
047278b
chore(v1.34.6): bump version and generate docs
wwebjs-bot Jan 30, 2026
42d0c40
Adapt TypeScript Events enum (#3271)
BothimTV Jan 31, 2026
98cdced
copy only requiredDirs and make storeRemoteSession safer (#3744)
Adi1231234 Feb 2, 2026
e66d94e
Fix update channel module (#5791)
aryarfani Feb 3, 2026
5048534
Fix setDescription to use updated group metadata (#5793)
kivirick1 Feb 3, 2026
48a9e1d
fix: disconnected event is not being fired (#5807)
adrianliz Feb 6, 2026
9b53beb
Fix PDF Caption (#5794)
BenyFilho Feb 6, 2026
9e0fe29
New Chat property isLocked (#5798)
BenyFilho Feb 7, 2026
2056ae8
Fix getFormattedNumber (#5806)
BenyFilho Feb 7, 2026
9ba93d6
Fix loading_screen event (#5808)
BenyFilho Feb 7, 2026
4166311
ci: add rate limits for issues and prs (#66265)
2hoch1 Feb 10, 2026
073cf31
Revert "ci: add rate limits for issues and prs (#66265)" (#104563)
2hoch1 Feb 10, 2026
9b1eb76
general: tree-shaking pre-MD and old comet versions (#5675)
purpshell Feb 10, 2026
9e42f1e
Fix: Frozen WhatsApp Start or Auth Timeout (#127048)
BenyFilho Feb 18, 2026
883d7e4
Store: remove all mentions of window.Store (#127077)
purpshell Mar 1, 2026
d933a08
FIx getProfilePicUrl (#127092)
lindionez Mar 8, 2026
c2d978f
Fix Block Contact (#127093)
BenyFilho Mar 8, 2026
807efd5
chore: cleanup, ci workflows and formatting (#127064)
2hoch1 Mar 9, 2026
03498ea
fix: WAWebSendReactionMsgAction call to use sendReactionToMsg method …
Theblood Mar 14, 2026
9899f40
fix: joinGroupViaInvite (#127102)
lindionez Mar 16, 2026
b0e8693
Fix: Message get Mentions (#201669)
BenyFilho Mar 18, 2026
6de0b0d
fix: prevent store model mutation in getContact and getChatModel LID …
Adi1231234 Mar 24, 2026
3e810b6
feat: add cancelPairingCode() and requestPairingCode() on QR clients …
Adi1231234 Mar 24, 2026
51f5920
fix(RemoteAuth): pass session name to store.save instead of full path…
Adi1231234 Mar 24, 2026
016a56b
fix: use WA's own LID resolution for block/unblock (#201671)
Adi1231234 Mar 24, 2026
7f54af0
fix: handle undefined channelMetadata to prevent crash (#127094)
wallacefrota Mar 24, 2026
4532ae9
fix: Fix/get contacts for biz contacts (#201680)
khsoh Mar 25, 2026
1a9a1b7
fix: recover ciphertext messages via PLACEHOLDER_MESSAGE_RESEND (PDO …
Adi1231234 Apr 1, 2026
a0ff21e
fix: Whatsapp increased the number of characters in IDs, but followed…
lindionez Apr 6, 2026
11594b2
refactor(client): move `sendReaction` method to the Client (#201695)
maxkoryukov Apr 12, 2026
b0a4b6c
fix(structures): use loadEarlierMsgs options signature in fetchMessag…
themazim Apr 13, 2026
cbf49be
fix: resolve naming issues (#201712)
2hoch1 Apr 16, 2026
46c2918
fix: getContacts resolving all promisses (#201698)
BenyFilho Apr 16, 2026
33f88ac
Fix: Event Call (#201714)
BenyFilho Apr 16, 2026
fb1ccd3
chore: bump stale dependencies (#201702)
2hoch1 Apr 17, 2026
2112053
fix(deps): upgrade eslint and plugins to 9.39.4 (#201701)
maxkoryukov Apr 18, 2026
f935b50
chore(v1.34.7): bump version and generate docs
wwebjs-bot Apr 24, 2026
f7e4d3d
fix: block unblock contact (#201753)
BenyFilho May 10, 2026
2dc9466
refactor: auth store handling (#201667)
RC047 May 14, 2026
4df15e5
feat: support big file downloads (read from WA cache + streaming) (#2…
Adi1231234 Jun 19, 2026
1780711
fix: prevent duplicate ready events on SPA re-injection (#201653)
Adi1231234 Jun 25, 2026
942d236
fix: use WWebJS.getChat for inviteV4 fallback in addParticipants (#20…
ashmitmittal Jul 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,9 @@ root = true
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf

[*.md]
trim_trailing_whitespace = false
4 changes: 2 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
WWEBJS_TEST_SESSION_PATH=test_session.json
WWEBJS_TEST_REMOTE_ID=XXXXXXXXXX@c.us
WWEBJS_TEST_REMOTE_ID=XXXXXXXXXX@c.us
WWEBJS_TEST_CLIENT_ID=authenticated
36 changes: 0 additions & 36 deletions .eslintrc.json

This file was deleted.

4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* text=auto eol=lf

package-lock.json linguist-generated=true text=auto eol=lf
docs/* linguist-generated=true text=auto eol=lf
30 changes: 15 additions & 15 deletions CODE_OF_CONDUCT.md → .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# Contributor Covenant Code of Conduct

## Our Pledge
Expand All @@ -18,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
- Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities
Expand All @@ -61,7 +60,7 @@ representative at an online or offline event.

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[pedroslopez@me.com](mailto:pedroslopez@me.com).
[pedroslopez@me.com][email].
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
Expand Down Expand Up @@ -107,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
Expand All @@ -119,13 +118,14 @@ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].

Community Impact Guidelines were inspired by
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].

[email]: mailto:pedroslopez@me.com
[homepage]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
Expand Down
204 changes: 204 additions & 0 deletions .github/COMMIT_CONVENTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# Git Commit Message Convention

> This is adapted from [Angular's commit convention][angular-commit-convention].

Messages must be matched by the following regex (case-insensitive):

```ts
/^(revert: )?(feat|fix|docs|style|refactor|perf|test|build|ci|chore|types|infra)(\(.+\))?!?: .{1,72}/i;
```

The commit type is **case-insensitive** — `feat`, `Feat`, and `FEAT` are all valid.

## Examples

### Features

Appears under "Features" header, message subheader:

```txt
feat(message): add 'downloadMedia' option
```

Additional examples:

```txt
feat(chat): add ability to pin messages
```

```txt
feat(contact): add getProfilePicUrl method
```

### Bug Fixes

Appears under "Bug Fixes" header, client subheader, with a link to issue #28:

```txt
fix(client): stop client breaking when QR code expires

Closes #28
```

Additional examples:

```txt
fix(message): handle media messages without caption correctly
```

```txt
fix(auth): resolve authentication timeout on slow connections
```

### Performance Improvements

Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation:

```txt
perf(message): remove legacyMode option

BREAKING CHANGE: The legacyMode option has been removed. The new message handling is always used for performance reasons.
```

Additional example:

```txt
perf(client): optimize event listener registration
```

### Documentation

```txt
docs(readme): update installation instructions
```

```txt
docs(api): add examples for message reactions
```

### Code Refactoring

```txt
refactor(client): simplify authentication flow
```

```txt
refactor(structures): extract common message properties
```

### Tests

```txt
test(message): add unit tests for media download
```

```txt
test(client): add integration tests for reconnection
```

### Build System

```txt
build(deps): update puppeteer to v21.0.0
```

```txt
build(webpack): optimize bundle size
```

### Continuous Integration

```txt
ci(actions): add automated release workflow
```

```txt
ci(tests): run tests on multiple node versions
```

### Chores

```txt
chore(gitignore): ignore .vscode directory
```

```txt
chore(deps): bump dependencies to latest versions
```

### Type Definitions

```txt
types(message): add missing type for MessageMedia
```

```txt
types(client): improve ClientOptions interface
```

### Code Style

```txt
style(client): fix indentation and spacing
```

### Reverts

The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header:

```txt
revert: feat(message): add 'downloadMedia' option

This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
```

A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**:

```txt
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
```

The **header** is mandatory and the **scope** of the header is optional.

## Revert

If the commit reverts a previous commit, it should begin with `revert:`, followed by the header of the reverted commit. In the body, it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted.

## Type

If the prefix is `feat`, `fix` or `perf`, it will appear in the changelog. However if there is any [BREAKING CHANGE](#footer), the commit will always appear in the changelog.

Other prefixes are up to your discretion. Suggested prefixes are `build`, `ci`, `docs`, `style`, `refactor`, and `test` for non-changelog related tasks.

## Scope

The scope could be anything specifying place of the commit change. For example `client`, `message`, `chat`, `contact`, `media`, `auth`, etc...

## Subject

The subject contains succinct description of the change:

- use the imperative, present tense: "change" not "changed" nor "changes"
- don't capitalize first letter
- no dot (.) at the end

## Body

Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes".
The body should include the motivation for the change and contrast this with previous behavior.

## Footer

The footer should contain any information about **Breaking Changes** and is also the place to
reference GitHub issues that this commit **Closes**.

**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this.

A detailed explanation can be found in this [document][commit-message-format].

[angular-commit-convention]: https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular
[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
43 changes: 43 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Contributing

If you want to contribute to whatsapp-web.js, start by forking the repository and opening a pull request with your changes. The project uses ESLint and Prettier to enforce a consistent coding style, so setting them up in your development environment is recommended to ensure your contributions meet the formatting standards.

## Questions

Do not open issues for general questions or support requests. For help, please join the [Discord Server][discord] instead. Installation instructions and general guidance are available in the documentation. Issues opened for questions will be closed.

### Issue Tracker

Before creating a new issue, review the existing [issue tracker][issue-tracker] to avoid duplicates.

## Issues and Pull Requests

- **Bug reports** must include a minimal reproduction and clear steps to reproduce the problem.
- **Feature requests** should clearly describe the use case and explain why the feature belongs in the library.
- **Pull requests and commit messages** must follow the conventional commit format for both commit messages and the PR title (e.g. `feat(client): add sendMessage option`). The commit type is case-insensitive (`feat`, `Feat`, and `FEAT` are all valid).
- All pull requests should target the `main` branch unless discussed otherwise.
- Ensure that linting and tests pass before submitting your pull request.

## Setup

To prepare your development environment:

1. Fork and clone the repository, and ensure you are on the `main` branch.
2. Run `npm install` to install all dependencies.
3. Implement your changes or improvements.
4. Run `npm run check` to execute ESLint and Prettier checks.
5. Run `npm test` to ensure the test suite passes.
6. Submit a pull request (make sure it follows the conventional commit format).

## Testing Locally

To test your changes within your own project:

1. Clone the repository and apply your modifications.
2. Run `npm install` inside the cloned directory.
3. In your project, run `npm link <path-to-your-clone>` to create a symlink to your local version.
4. Import the package and verify your changes.
5. If everything works as expected, you’ve successfully implemented your changes without breaking the library.

[discord]: https://discord.wwebjs.dev/
[issue-tracker]: https://github.com/wwebjs/whatsapp-web.js/issues
9 changes: 9 additions & 0 deletions .github/DISCLAIMER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Disclaimer

This project is an unofficial library and is not affiliated with, endorsed by, maintained, authorized, or sponsored by WhatsApp Inc., Meta Platforms, or any of their subsidiaries or affiliates. Use of this library and any related components is entirely at your own risk. WhatsApp prohibits the use of unofficial clients, reverse-engineered integrations, automated bots, or other non-official methods of access to its platform, and using this library may violate WhatsApp’s Terms of Service, potentially resulting in temporary or permanent suspension of your WhatsApp account or other enforcement actions. We assume no responsibility or liability if your account is restricted, suspended, or permanently banned, and you are solely responsible for any consequences arising from the use or misuse of this project.

The maintainers and contributors provide this library without any guarantees or warranties, express or implied, regarding its reliability, functionality, or long-term viability. Compatibility with WhatsApp’s private or internal APIs may change at any time without notice, which could cause the library to stop functioning or behave unpredictably. This project has been developed strictly for educational, research, experimental, and hobby purposes and should not be used in commercial, production, or business-critical environments without fully understanding and accepting the associated risks.

For official, secure, and policy-compliant integrations, individuals and businesses are strongly encouraged to use the WhatsApp Business Platform or other authorized APIs provided directly by WhatsApp or Meta. The official WhatsApp website is available at [https://www.whatsapp.com][whatsapp]. "WhatsApp" and all related names, marks, logos, and images are registered trademarks of their respective owners. By using this project, you acknowledge that you understand and accept all of the above terms, limitations, and potential risks, including the possibility of account suspension or banning.

[whatsapp]: https://www.whatsapp.com
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
github: [pedroslopez, PurpShell]
ko_fi: pedroslopez
custom: ['paypal.me/psla', 'buymeacoff.ee/pedroslopez']
Loading