fix(carousel): remove viewOnceMessage wrapper, send interactiveMessag…

fix(carousel): remove viewOnceMessage wrapper, send interactiveMessag…
This commit is contained in:
Renato Alcara
2026-02-06 21:38:56 -03:00
committed by GitHub
+6 -9
View File
@@ -653,14 +653,11 @@ export const generateCarouselMessage = async (
} }
} }
// Wrap in viewOnceMessage for MD (multi-device) compatibility // Return interactiveMessage directly (NOT wrapped in viewOnceMessage)
// This ensures Web/Desktop clients can render the carousel // Pastorini's working implementation confirms carousels must be sent
// as direct interactiveMessage, not wrapped in viewOnceMessage
return { return {
viewOnceMessage: { interactiveMessage
message: {
interactiveMessage
}
}
} }
} }
@@ -1157,8 +1154,8 @@ export const generateWAMessageContent = async (
} }
// Pass options for media processing if cards have images/videos // Pass options for media processing if cards have images/videos
const generated = await generateCarouselMessage(carouselOptions, options) const generated = await generateCarouselMessage(carouselOptions, options)
m.viewOnceMessage = generated.viewOnceMessage m.interactiveMessage = generated.interactiveMessage
options.logger?.info('Sending carousel with viewOnceMessage wrapper (plain object, no proto conversion)') options.logger?.info('Sending carousel as direct interactiveMessage (plain object, no proto conversion)')
// Return the plain JS object directly WITHOUT calling WAProto.Message.fromObject() // Return the plain JS object directly WITHOUT calling WAProto.Message.fromObject()
// This matches Pastorini's working approach where plain objects are passed directly // This matches Pastorini's working approach where plain objects are passed directly
// to relayMessage. The fromObject() conversion can corrupt nested carousel structures // to relayMessage. The fromObject() conversion can corrupt nested carousel structures