From e41ae21bea63484645c0ef5f98e870bd80bc1c8c Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 21 May 2020 12:24:03 +0200 Subject: [PATCH] Fix typing notification With d1d0ad8d1a8e28690aa8723566dd64c1ccdcf9d6 we set a timestamp to now for all messages upon receival. Even if the original message didn't contain any timestamp. So we can use the timestamp of retrieval for logging and displaying and don't get them at each of those location where they might differ. This means that timestamp will never be NULL. I don't see why we would want to check for the chat state only if timestamp isn't there. Probably because in XEP-0085 there is not timestamp defined. So if it thats stanza it's not there and we can parse quicker, but there is nothing forbidden it to be there. Related to https://github.com/profanity-im/profanity/issues/1339 --- src/xmpp/message.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xmpp/message.c b/src/xmpp/message.c index c9972621..b8f4c367 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -1265,7 +1265,7 @@ _handle_chat(xmpp_stanza_t *const stanza, gboolean is_mam) } // handle chat sessions and states - if (!message->timestamp && jid->resourcepart) { + if (jid->resourcepart) { gboolean gone = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_GONE) != NULL; gboolean typing = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_COMPOSING) != NULL; gboolean paused = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_PAUSED) != NULL;