@whanext/core 0.19.21 → 0.19.22
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/CHANGELOG.md +5 -0
- package/dist/index.js +15 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.19.22
|
|
4
|
+
### Fixed
|
|
5
|
+
- Corrige falsos `duplicate` em mensagens de grupo quando o Zapo emite primeiro um shell interno de Sender Key/protocolo sem conteúdo e depois a mensagem real reutilizando o mesmo stanza ID.
|
|
6
|
+
- Shells vazios `unknown` não são mais publicados nem consomem a chave de deduplicação; a mensagem real de texto/mídia continua chegando normalmente ao dispatcher.
|
|
7
|
+
|
|
3
8
|
## 0.19.21
|
|
4
9
|
|
|
5
10
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -3925,15 +3925,6 @@ var ZapoProvider = class {
|
|
|
3925
3925
|
});
|
|
3926
3926
|
return;
|
|
3927
3927
|
}
|
|
3928
|
-
if (stored.key.id && this.#deliveredMessageStore.has(deliveryKey)) {
|
|
3929
|
-
this.#duplicateMessages += 1;
|
|
3930
|
-
this.#emitMessageDiscarded("duplicate", stored.key);
|
|
3931
|
-
this.#logger.debug("Ignored duplicate Zapo message event.", {
|
|
3932
|
-
messageId: stored.key.id,
|
|
3933
|
-
chatId: stored.key.remoteJid ?? void 0
|
|
3934
|
-
});
|
|
3935
|
-
return;
|
|
3936
|
-
}
|
|
3937
3928
|
const message = normalizeZapoMessage(event);
|
|
3938
3929
|
if (!message) {
|
|
3939
3930
|
this.#normalizationFailures += 1;
|
|
@@ -3944,6 +3935,18 @@ var ZapoProvider = class {
|
|
|
3944
3935
|
});
|
|
3945
3936
|
return;
|
|
3946
3937
|
}
|
|
3938
|
+
if (this.#isEmptyMessageShell(message)) {
|
|
3939
|
+
return;
|
|
3940
|
+
}
|
|
3941
|
+
if (stored.key.id && this.#deliveredMessageStore.has(deliveryKey)) {
|
|
3942
|
+
this.#duplicateMessages += 1;
|
|
3943
|
+
this.#emitMessageDiscarded("duplicate", stored.key);
|
|
3944
|
+
this.#logger.debug("Ignored duplicate Zapo message event.", {
|
|
3945
|
+
messageId: stored.key.id,
|
|
3946
|
+
chatId: stored.key.remoteJid ?? void 0
|
|
3947
|
+
});
|
|
3948
|
+
return;
|
|
3949
|
+
}
|
|
3947
3950
|
if (stored.key.id) this.#rememberDeliveredMessage(deliveryKey);
|
|
3948
3951
|
this.#receivedMessages += 1;
|
|
3949
3952
|
this.#lastIncomingAt = /* @__PURE__ */ new Date();
|
|
@@ -5066,6 +5069,9 @@ var ZapoProvider = class {
|
|
|
5066
5069
|
return void 0;
|
|
5067
5070
|
}
|
|
5068
5071
|
}
|
|
5072
|
+
#isEmptyMessageShell(message) {
|
|
5073
|
+
return message.contentKind === "unknown" && message.text === void 0 && message.caption === void 0 && message.media === void 0 && message.interactive === void 0 && (message.protocolKinds?.length ?? 0) === 0 && (message.payloadKinds?.length ?? 0) === 0;
|
|
5074
|
+
}
|
|
5069
5075
|
#messageStoreKey(key) {
|
|
5070
5076
|
return `${key.remoteJid ?? ""}:${key.id ?? ""}:${key.participant ?? key.participantAlt ?? ""}`;
|
|
5071
5077
|
}
|