From fb4b262477cbbe51c66b8e1de15ae429321b8d16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= <philipp@hoerist.com> Date: Mon, 12 Feb 2018 21:18:49 +0100 Subject: [PATCH] Dont use getTimestamp() getTimestamp() generates always a timestring with a resolution of seconds and this means time gets always rounded down. Because we use a resolution of .00000 precision for outgoing messages this can lead to wrongly sorted messages. --- gajim/common/connection_handlers_events.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gajim/common/connection_handlers_events.py b/gajim/common/connection_handlers_events.py index 70fb41453c..ff72de957e 100644 --- a/gajim/common/connection_handlers_events.py +++ b/gajim/common/connection_handlers_events.py @@ -99,7 +99,7 @@ class HelperEvent: def _generate_timestamp(self, tag): # Make sure we use only int/float Epoch time - if not isinstance(tag, str): + if tag is None: self.timestamp = time_time() return try: @@ -771,7 +771,7 @@ PresenceHelperEvent): # XEP-0203 delay_tag = self.stanza.getTag('delay', namespace=nbxmpp.NS_DELAY2) if delay_tag: - self._generate_timestamp(self.stanza.getTimestamp2()) + self._generate_timestamp(self.stanza.timestamp) # XEP-0319 self.idle_time = None idle_tag = self.stanza.getTag('idle', namespace=nbxmpp.NS_IDLE) @@ -791,7 +791,7 @@ PresenceHelperEvent): self.contact_nickname = x.getTagData('nickname') elif namespace == nbxmpp.NS_DELAY and not self.timestamp: # XEP-0091 - self._generate_timestamp(self.stanza.getTimestamp()) + self._generate_timestamp(self.stanza.timestamp) elif namespace == 'http://delx.cjb.net/protocol/roster-subsync': # see http://trac.gajim.org/ticket/326 agent = app.get_server_from_jid(self.jid) @@ -1401,7 +1401,7 @@ class MessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent): self.session.last_receive = time_time() - self._generate_timestamp(self.stanza.getTimestamp()) + self._generate_timestamp(self.stanza.timestamp) return True -- GitLab