feat: add inbound username support and USync username protocol (#382)
* feat: add inbound username support and USync username protocol Aligns with Baileys upstream PR #2480. WhatsApp is rolling out an inbound username field that maps to the user's LID. This change is purely additive — it captures and propagates the new optional field through types, decoders, USync queries, and group/contact events. Skipped intentionally to preserve InfiniteAPI's LID/PN customization: - handleGroupNotification in messages-recv.ts (custom LID->PN flow on groups.upsert / participants.map). Username for these specific events still flows via process-message's emitParticipantsUpdate (reads message.key.participantUsername added in decode-wa-message). Carousel/buttons code (messages.ts, messages-send.ts) untouched. Co-Authored-By: Renato Alcara
This commit is contained in:
@@ -2223,6 +2223,7 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
|
||||
fromMe,
|
||||
participant: node.attrs.participant,
|
||||
participantAlt,
|
||||
participantUsername: node.attrs.participant_username,
|
||||
addressingMode,
|
||||
id: node.attrs.id,
|
||||
...(msg.key || {})
|
||||
@@ -2231,6 +2232,10 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
|
||||
msg.messageTimestamp = +node.attrs.t!
|
||||
|
||||
const fullMsg = proto.WebMessageInfo.fromObject(msg) as WAMessage
|
||||
// Preserve custom WAMessageKey fields (participantAlt, participantUsername,
|
||||
// addressingMode) that proto.WebMessageInfo.fromObject strips because
|
||||
// they aren't part of the proto.MessageKey schema.
|
||||
fullMsg.key = msg.key
|
||||
await upsertMessage(fullMsg, 'append')
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user