fix(carousel)sem viewOnceMessage
fix(carousel)sem viewOnceMessage
This commit is contained in:
+7
-12
@@ -616,7 +616,6 @@ export const generateCarouselMessage = async (
|
|||||||
|
|
||||||
const header: any = {
|
const header: any = {
|
||||||
title: card.title || '',
|
title: card.title || '',
|
||||||
subtitle: '',
|
|
||||||
hasMediaAttachment: hasMedia
|
hasMediaAttachment: hasMedia
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -641,7 +640,7 @@ export const generateCarouselMessage = async (
|
|||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
|
|
||||||
// Build the interactive message with carousel (matching Pastorini structure)
|
// Build the interactive message with carousel (matching Pastorini structure exactly)
|
||||||
const interactiveMessage: proto.Message.IInteractiveMessage = {
|
const interactiveMessage: proto.Message.IInteractiveMessage = {
|
||||||
body: { text: text || '' },
|
body: { text: text || '' },
|
||||||
footer: footer ? { text: footer } : undefined,
|
footer: footer ? { text: footer } : undefined,
|
||||||
@@ -651,15 +650,11 @@ export const generateCarouselMessage = async (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrap in viewOnceMessage for WhatsApp Web/Desktop compatibility
|
// Return as direct interactiveMessage (matching Pastorini exactly)
|
||||||
// Without this wrapper, Web only renders header/body text
|
// Pastorini sends interactiveMessage without viewOnceMessage wrapper
|
||||||
// Note: using minimal wrapper (no messageContextInfo) to avoid error 479
|
// and it renders on Web. Biz node is injected separately in messages-send.ts
|
||||||
return {
|
return {
|
||||||
viewOnceMessage: {
|
interactiveMessage
|
||||||
message: {
|
|
||||||
interactiveMessage
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1156,8 +1151,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 carouselMessage with viewOnceMessage wrapper (no messageContextInfo)')
|
options.logger?.info('Sending carouselMessage as direct interactiveMessage (matching Pastorini)')
|
||||||
}
|
}
|
||||||
// Check for nativeList
|
// Check for nativeList
|
||||||
else if (hasNonNullishProperty(message, 'nativeList')) {
|
else if (hasNonNullishProperty(message, 'nativeList')) {
|
||||||
|
|||||||
Reference in New Issue
Block a user