summaryrefslogtreecommitdiff
path: root/poezio
diff options
context:
space:
mode:
authorMaxime “pep” Buquet <pep@bouah.net>2020-01-25 12:40:18 +0100
committermathieui <mathieui@mathieui.net>2020-05-09 19:46:17 +0200
commit446fa8ea82f0665fecc96c9bed647d9c03cf30ac (patch)
treed55acba0b59b664af4e95c266d9f9aecac5c2efd /poezio
parent961f6c175578bc4f478ff9a217cd1125bdc8bd09 (diff)
downloadpoezio-446fa8ea82f0665fecc96c9bed647d9c03cf30ac.tar.gz
poezio-446fa8ea82f0665fecc96c9bed647d9c03cf30ac.tar.bz2
poezio-446fa8ea82f0665fecc96c9bed647d9c03cf30ac.tar.xz
poezio-446fa8ea82f0665fecc96c9bed647d9c03cf30ac.zip
Ensure muc history messages are considered history
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Diffstat (limited to 'poezio')
-rw-r--r--poezio/core/handlers.py6
-rw-r--r--poezio/tabs/muctab.py2
2 files changed, 8 insertions, 0 deletions
diff --git a/poezio/core/handlers.py b/poezio/core/handlers.py
index aa392d40..3e2a20a0 100644
--- a/poezio/core/handlers.py
+++ b/poezio/core/handlers.py
@@ -754,6 +754,11 @@ class HandlerCore:
old_state = tab.state
delayed, date = common.find_delayed_tag(message)
+
+ history = (tab.last_message_was_history is None and delayed) or \
+ (tab.last_message_was_history and delayed)
+ tab.last_message_was_history = history
+
replaced = False
if message.xml.find('{urn:xmpp:message-correct:0}replace') is not None:
replaced_id = message['replace']['id']
@@ -778,6 +783,7 @@ class HandlerCore:
txt=body,
time=date,
nickname=nick_from,
+ history=history,
delayed=delayed,
identifier=message['id'],
jid=message['from'],
diff --git a/poezio/tabs/muctab.py b/poezio/tabs/muctab.py
index 68e0f24d..336f3fe4 100644
--- a/poezio/tabs/muctab.py
+++ b/poezio/tabs/muctab.py
@@ -76,6 +76,8 @@ class MucTab(ChatTab):
self.users = [] # type: List[User]
# private conversations
self.privates = [] # type: List[Tab]
+ # Used to check if we are still receiving muc history
+ self.last_message_was_history = None # type: Optional[bool]
self.topic = ''
self.topic_from = ''
# Self ping event, so we can cancel it when we leave the room