diff --git a/src/WAConnection/4.Events.ts b/src/WAConnection/4.Events.ts index f9252b3..52130d6 100644 --- a/src/WAConnection/4.Events.ts +++ b/src/WAConnection/4.Events.ts @@ -393,11 +393,16 @@ export class WAConnection extends Base { chat.presences = chat.presences || {} const presence = { ...(chat.presences[jid] || {}) } as WAPresenceData + if (update.t) presence.lastSeen = +update.t else if (update.type === Presence.unavailable && (presence.lastKnownPresence === Presence.available || presence.lastKnownPresence === Presence.composing)) { presence.lastSeen = unixTimestampSeconds() } presence.lastKnownPresence = update.type + // no update + if(presence.lastKnownPresence === chat.presences[jid]?.lastKnownPresence && presence.lastSeen === chat.presences[jid]?.lastSeen) { + return + } const contact = this.contacts[jid] if (contact) {