diff --git a/package-lock.json b/package-lock.json index 8c0a9069..35b0601e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "whaileys", - "version": "6.4.10", + "version": "6.4.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "whaileys", - "version": "6.4.10", + "version": "6.4.11", "license": "MIT", "dependencies": { "@hapi/boom": "^9.1.3", diff --git a/package.json b/package.json index 962edc17..a250eda2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "whaileys", - "version": "6.4.10", + "version": "6.4.11", "description": "WhatsApp API", "homepage": "https://github.com/canove/whaileys", "main": "lib/index.js", diff --git a/src/Socket/chats.ts b/src/Socket/chats.ts index 91c94a2c..caedebb5 100644 --- a/src/Socket/chats.ts +++ b/src/Socket/chats.ts @@ -773,21 +773,23 @@ export const makeChatsSocket = (config: SocketConfig) => { } }; - /** sending non-abt props may fix QR scan fail if server expects */ + /** fetch AB props */ const fetchProps = async () => { const resultNode = await query({ tag: "iq", attrs: { to: S_WHATSAPP_NET, - xmlns: "w", + xmlns: "abt", type: "get" }, content: [ { tag: "props", attrs: { - protocol: "2", - hash: authState?.creds?.lastPropHash || "" + protocol: "1", + ...(authState?.creds?.lastPropHash + ? { hash: authState.creds.lastPropHash } + : {}) } } ] diff --git a/src/Socket/messages-recv.ts b/src/Socket/messages-recv.ts index b6c5fe3e..59ce369e 100644 --- a/src/Socket/messages-recv.ts +++ b/src/Socket/messages-recv.ts @@ -896,6 +896,7 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { const status = getCallStatusFromNode(infoChild); const call: WACallEvent = { chatId: attrs.from, + callerPn: infoChild.attrs["caller_pn"], from, id: callId, date: new Date(+attrs.t * 1000), @@ -913,6 +914,7 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { if (callOfferData[call.id]) { call.isVideo = callOfferData[call.id].isVideo; call.isGroup = callOfferData[call.id].isGroup; + call.callerPn = call.callerPn || callOfferData[call.id].callerPn; } // delete data once call has ended diff --git a/src/Types/Call.ts b/src/Types/Call.ts index 4a632e2c..5cfbe8a5 100644 --- a/src/Types/Call.ts +++ b/src/Types/Call.ts @@ -9,6 +9,7 @@ export type WACallUpdateType = export type WACallEvent = { chatId: string; from: string; + callerPn?: string; isGroup?: boolean; id: string; date: Date; diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index 0515b25d..32dde900 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -624,6 +624,7 @@ export const normalizeMessageContent = ( content?.documentWithCaptionMessage?.message || content?.ephemeralMessage?.message?.viewOnceMessage?.message || content?.ephemeralMessage?.message || + content?.associatedChildMessage?.message || content?.viewOnceMessage?.message || content?.viewOnceMessageV2Extension?.message || content?.viewOnceMessageV2?.message ||