Skip to content

Commit 16aa025

Browse files
rsalcaraclaude
andcommitted
fix: unwrap viewOnceMessage in getMediaType so enc node gets mediatype attribute
Without this fix, view-once media (image/video/audio) was sent without mediatype="image/video/audio" on the enc node because getMediaType only checked the top-level message fields. The viewOnceMessage wrapper hides the inner imageMessage, causing mediatype to be empty and WA servers to silently drop the message on the recipient side. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 8150587 commit 16aa025

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

src/Socket/messages-send.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,6 +1072,15 @@ export const makeMessagesSocket = (config: SocketConfig) => {
10721072
}
10731073

10741074
const getMediaType = (message: proto.IMessage) => {
1075+
// For view-once media, unwrap the viewOnceMessage wrapper before checking media type
1076+
const inner =
1077+
message.viewOnceMessage?.message ||
1078+
message.viewOnceMessageV2?.message ||
1079+
message.viewOnceMessageV2Extension?.message
1080+
if (inner) {
1081+
return getMediaType(inner)
1082+
}
1083+
10751084
if (message.imageMessage) {
10761085
return 'image'
10771086
} else if (message.videoMessage) {

0 commit comments

Comments
 (0)