diff --git a/src/Socket/messages-send.ts b/src/Socket/messages-send.ts index 6c2a0f4f..b3fcf6ee 100644 --- a/src/Socket/messages-send.ts +++ b/src/Socket/messages-send.ts @@ -1536,12 +1536,8 @@ export const makeMessagesSocket = (config: SocketConfig) => { if (!node) return '' const pad = ' '.repeat(indent) const tag = node.tag || '?' - const attrEntries = node.attrs - ? Object.entries(node.attrs).filter(([, v]) => v !== undefined && v !== null) - : [] - const attrStr = attrEntries.length > 0 - ? ' ' + attrEntries.map(([k, v]) => `${k}="${v}"`).join(' ') - : '' + const attrEntries = node.attrs ? Object.entries(node.attrs).filter(([, v]) => v != null) : [] + const attrStr = attrEntries.length > 0 ? ' ' + attrEntries.map(([k, v]) => `${k}="${v}"`).join(' ') : '' if (!node.content) return `${pad}<${tag}${attrStr}/>` diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index e276a1a3..8502d685 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -651,25 +651,23 @@ export const generateCarouselMessage = async ( if (hasMedia && mediaOptions) { if (card.image) { const { imageMessage } = await prepareWAMessageMedia({ image: card.image }, mediaOptions) - if (imageMessage) { - // Ensure jpegThumbnail, height, width are present (required for WhatsApp Web rendering) - if (!imageMessage.jpegThumbnail) { - mediaOptions.logger?.warn( - { cardTitle: card.title }, - '[CAROUSEL] imageMessage missing jpegThumbnail - Web may not render' - ) - } - - if (!imageMessage.height || !imageMessage.width) { - mediaOptions.logger?.warn( - { cardTitle: card.title, height: imageMessage.height, width: imageMessage.width }, - '[CAROUSEL] imageMessage missing dimensions - setting defaults' - ) - // Set default dimensions if missing - if (!imageMessage.height) imageMessage.height = 500 - if (!imageMessage.width) imageMessage.width = 500 - } + // Validate image fields needed for WhatsApp rendering + if (imageMessage && !imageMessage.jpegThumbnail) { + mediaOptions.logger?.warn( + { cardTitle: card.title }, + '[CAROUSEL] imageMessage missing jpegThumbnail - Web may not render' + ) } + + if (imageMessage && (!imageMessage.height || !imageMessage.width)) { + mediaOptions.logger?.warn( + { cardTitle: card.title, height: imageMessage.height, width: imageMessage.width }, + '[CAROUSEL] imageMessage missing dimensions - setting defaults' + ) + if (!imageMessage.height) imageMessage.height = 500 + if (!imageMessage.width) imageMessage.width = 500 + } + header.imageMessage = imageMessage } else if (card.video) { const { videoMessage } = await prepareWAMessageMedia({ video: card.video }, mediaOptions)