fix(carousel): re-habilitar biz node para carrossel (Pastorini confirma necessario)

Comparação com Pastorini revelou que o biz node É NECESSÁRIO para
carrossel. Pastorini injeta exatamente:
  <biz><interactive type="native_flow" v="1">
    <native_flow v="9" name="mixed"/>
  </interactive></biz>

Sem biz node = error 479. Com biz node = mensagem entregue.

O erro 479 anterior era causado por messageContextInfo no viewOnceMessage,
não pelo biz node em si.

Estado atual: biz node (SIM) + viewOnceMessage sem messageContextInfo +
bot node (NÃO para carousel/native_flow)

https://claude.ai/code/session_01EK9NpViRCtda1WAvFd8ptR
This commit is contained in:
Claude
2026-02-06 17:59:53 +00:00
parent 4c56dacc81
commit 7b4c9c8d4c
+1 -7
View File
@@ -1225,7 +1225,7 @@ export const makeMessagesSocket = (config: SocketConfig) => {
// EXPERIMENTAL: Try biz node injection for ALL interactive messages including catalog
// Previously we skipped catalog messages but they weren't rendering properly
if (buttonType && enableInteractiveMessages && !isCarousel) {
if (buttonType && enableInteractiveMessages) {
const startTime = Date.now()
// Debug: Log message structure to diagnose list detection
@@ -1384,12 +1384,6 @@ export const makeMessagesSocket = (config: SocketConfig) => {
)
metrics.interactiveMessagesFailures.inc({ type: buttonType, reason: 'injection_failed' })
}
} else if (isCarousel && buttonType) {
logger.info(
{ msgId, buttonType, to: destinationJid },
'[EXPERIMENTAL] Skipping biz node injection for carousel message (not needed, causes error 479)'
)
metrics.interactiveMessagesSent.inc({ type: 'carousel' })
} else if (buttonType && !enableInteractiveMessages) {
logger.warn(
{ msgId, buttonType },