Feat/view once receive (#310)
* 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.
This commit is contained in:
@@ -1897,6 +1897,15 @@ export const makeMessagesSocket = (config: SocketConfig) => {
|
||||
}
|
||||
|
||||
const getMediaType = (message: proto.IMessage) => {
|
||||
// For view-once media, unwrap the viewOnceMessage wrapper before checking media type
|
||||
const inner =
|
||||
message.viewOnceMessage?.message ||
|
||||
message.viewOnceMessageV2?.message ||
|
||||
message.viewOnceMessageV2Extension?.message
|
||||
if (inner) {
|
||||
return getMediaType(inner)
|
||||
}
|
||||
|
||||
if (message.imageMessage) {
|
||||
return 'image'
|
||||
} else if (message.videoMessage) {
|
||||
|
||||
Reference in New Issue
Block a user