From f1b64c3c353ff67216de47c8b05175639f6ef8b1 Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Fri, 8 Apr 2022 23:29:48 +0530 Subject: [PATCH] feat: send presence update when name changed --- src/Socket/chats.ts | 4 ++++ src/Utils/chat-utils.ts | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Socket/chats.ts b/src/Socket/chats.ts index 6b0553f..d86cfcc 100644 --- a/src/Socket/chats.ts +++ b/src/Socket/chats.ts @@ -466,6 +466,10 @@ export const makeChatsSocket = (config: SocketConfig) => { const processSyncActionsLocal = (actions: ChatMutation[]) => { const events = processSyncActions(actions, authState.creds.me!, logger) emitEventsFromMap(events) + // resend available presence to update name on servers + if(events['creds.update']?.me?.name) { + sendPresenceUpdate('available') + } } const appPatch = async(patchCreate: WAPatchCreate) => { diff --git a/src/Utils/chat-utils.ts b/src/Utils/chat-utils.ts index 19f4718..3521222 100644 --- a/src/Utils/chat-utils.ts +++ b/src/Utils/chat-utils.ts @@ -583,8 +583,10 @@ export const processSyncActions = ( name: action.contactAction!.fullName } } else if(action?.pushNameSetting) { - map['creds.update'] = map['creds.update'] || { } - map['creds.update'].me = { ...me, name: action?.pushNameSetting?.name! } + if(me?.name !== action?.pushNameSetting) { + map['creds.update'] = map['creds.update'] || { } + map['creds.update'].me = { ...me, name: action?.pushNameSetting?.name! } + } } else if(action?.pinAction) { update.pin = action.pinAction?.pinned ? toNumber(action.timestamp) : undefined } else if(action?.unarchiveChatsSetting) {