aunubaileys 1.0.29 โ†’ 1.0.30

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.30 / Baru di 1.0.30
68
+
69
+ - ๐ŸŸข **Presence no longer vanishes across the LID/PN identity split** โ€” presence stanzas increasingly arrive LID-addressed while consumers keyed the participant by phone-number JID (or the reverse), so their lookup missed and the contact looked permanently offline / never typing. When the LID store knows the pair, `presence.update` now also carries the presence under the alternate participant form; the original entry is unchanged.
70
+
67
71
  ### ๐Ÿ†• What's new in 1.0.29 / Baru di 1.0.29
68
72
 
69
73
  - ๐Ÿงน **Resend counters are now cleared when the retry limit is reached** โ€” every message a peer asked us to resend left a permanent counter entry in the retry cache, removed only by the cache TTL (1h on the default cache โ€” nothing at all on a consumer store without TTL), so entries accumulated without bound in a long-lived bot. The entry is now deleted when its count hits the limit, exactly like `sendRetryRequest` already does on the decrypt-retry path.
@@ -582,7 +582,21 @@ export const makeChatsSocket = (config) => {
582
582
  logger.error({ tag, attrs, content }, 'recv invalid presence node');
583
583
  }
584
584
  if (presence) {
585
- ev.emit('presence.update', { id: jid, presences: { [participant]: presence } });
585
+ // AunuBaileys: presence stanzas increasingly arrive
586
+ // LID-addressed while consumers keyed the participant by
587
+ // phone-number JID (or the reverse), so their lookup misses
588
+ // and the contact looks permanently offline / never typing.
589
+ // When the LID store knows the pair, mirror the presence
590
+ // under the alternate participant form too โ€” purely
591
+ // additive, the original entry is unchanged.
592
+ const altParticipant = sock.aunuLid?.getAltJid?.(participant);
593
+ ev.emit('presence.update', {
594
+ id: jid,
595
+ presences: {
596
+ [participant]: presence,
597
+ ...(altParticipant ? { [altParticipant]: presence } : {})
598
+ }
599
+ });
586
600
  }
587
601
  };
588
602
  const appPatch = async (patchCreate) => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aunubaileys",
3
3
  "type": "module",
4
- "version": "1.0.29",
4
+ "version": "1.0.30",
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",