From 5ae0b9863685f31f9fc8fd911894720fe6441cef Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Thu, 23 Dec 2021 10:54:17 +0530 Subject: [PATCH] feat: add replace type for messages.upsert --- src/LegacySocket/messages.ts | 16 +++++++--------- src/Types/Message.ts | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/LegacySocket/messages.ts b/src/LegacySocket/messages.ts index 30851a9..a0e8e8d 100644 --- a/src/LegacySocket/messages.ts +++ b/src/LegacySocket/messages.ts @@ -98,12 +98,12 @@ const makeMessagesSocket = (config: LegacySocketConfig) => { const attrs = response.attrs Object.assign(content, attrs) // update message - ev.emit('messages.update', [{ key: message.key, update: { message: message.message } }]) + ev.emit('messages.upsert', { messages: [message], type: 'replace' }) return response } - const onMessage = (message: WAMessage, type: MessageUpdateType | 'update') => { + const onMessage = (message: WAMessage, type: MessageUpdateType) => { const jid = message.key.remoteJid! // store chat updates in this const chatUpdate: Partial = { @@ -213,11 +213,8 @@ const makeMessagesSocket = (config: LegacySocketConfig) => { if(Object.keys(chatUpdate).length > 1) { ev.emit('chats.update', [chatUpdate]) } - if(type === 'update') { - ev.emit('messages.update', [ { update: message, key: message.key } ]) - } else { - ev.emit('messages.upsert', { messages: [message], type }) - } + + ev.emit('messages.upsert', { messages: [message], type }) } const waUploadToServer = getWAUploadToServer(config, refreshMediaConn) @@ -306,11 +303,12 @@ const makeMessagesSocket = (config: LegacySocketConfig) => { onMessage(msg, 'notify') } }) - // If a message has been updated (usually called when a video message gets its upload url, or live locations) + // If a message has been updated + // usually called when a video message gets its upload url, or live locations or ciphertext message gets fixed socketEvents.on ('CB:action,add:update,message', (node: BinaryNode) => { const msgs = getBinaryNodeMessages(node) for(const msg of msgs) { - onMessage(msg, 'update') + onMessage(msg, 'replace') } }) // message status updates diff --git a/src/Types/Message.ts b/src/Types/Message.ts index d505a78..cc251d1 100644 --- a/src/Types/Message.ts +++ b/src/Types/Message.ts @@ -165,7 +165,7 @@ export type MessageContentGenerationOptions = MediaGenerationOptions & { } export type MessageGenerationOptions = MessageContentGenerationOptions & MessageGenerationOptionsFromContent -export type MessageUpdateType = 'append' | 'notify' | 'prepend' | 'last' +export type MessageUpdateType = 'append' | 'notify' | 'prepend' | 'last' | 'replace' export type MessageInfoEventMap = { [jid: string]: Date } export interface MessageInfo {