summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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