aunubaileys 1.0.32 → 1.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -64,6 +64,10 @@ Everything else is pure upstream. When upstream moves, we rebase the patch layer
64
64
 
65
65
 
66
66
 
67
+ ### 🆕 What's new in 1.0.33 / Baru di 1.0.33
68
+
69
+ - 💓 **One lost keep-alive pong no longer kills the connection** — upstream ended the connection as soon as the gap since last inbound traffic exceeded one interval + 5s; on a quiet connection the ping response is the only inbound traffic, so a single lost pong killed a healthy connection and forced a full reconnect. The connection is now ended only after two consecutive intervals without a reply; genuinely dead connections are still detected, one interval later.
70
+
67
71
  ### 🆕 What's new in 1.0.32 / Baru di 1.0.32
68
72
 
69
73
  - 👥 **Group senders that arrive LID-only are now identifiable by phone number** — in groups, `key.participant` is increasingly a LID while `participantPn` is only sometimes included by the server, leaving phone-number-based sender identification blind. When the LID store knows the pair, the missing `participantPn` / `participantLid` is now filled in on the upsert path before the event reaches consumers. `key.participant` itself is NEVER rewritten — it is the E2E addressing identity the session/sender-key state is keyed by.
@@ -316,7 +316,15 @@ export const makeSocket = (config) => {
316
316
  check if it's been a suspicious amount of time since the server responded with our last seen
317
317
  it could be that the network is down
318
318
  */
319
- if (diff > keepAliveIntervalMs + 5000) {
319
+ // AunuBaileys: tolerate up to two missed keep-alive intervals
320
+ // before declaring the connection lost. Upstream ended it after
321
+ // a single unanswered ping (> interval + 5s): on a quiet
322
+ // connection the ping response is the only inbound traffic, so
323
+ // one lost pong killed a healthy connection and forced a full
324
+ // reconnect (with its pairing and message-loss windows). Two
325
+ // consecutive misses still end it; genuinely dead connections
326
+ // are detected ~one interval later than before.
327
+ if (diff > 2 * keepAliveIntervalMs + 5000) {
320
328
  end(new Boom('Connection was lost', { statusCode: DisconnectReason.connectionLost }));
321
329
  }
322
330
  else if (ws.isOpen) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aunubaileys",
3
3
  "type": "module",
4
- "version": "1.0.32",
4
+ "version": "1.0.33",
5
5
  "description": "AunuBaileys \u2014 a WhatsApp Web API for bots that never sleep. Full upstream power with the beloved in-memory store restored and pairing that just works. Forged by AunuCore.",
6
6
  "keywords": [
7
7
  "whatsapp",