From 8e8a1f04800fce4618506ff2c47157f94bd6c489 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sun, 10 Dec 2017 20:53:45 +0100 Subject: MAM: do not use private messages when finding last id in muc --- src/main/java/de/pixart/messenger/entities/Conversation.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/main/java/de/pixart/messenger/entities/Conversation.java') diff --git a/src/main/java/de/pixart/messenger/entities/Conversation.java b/src/main/java/de/pixart/messenger/entities/Conversation.java index 9252842aa..030cf9664 100644 --- a/src/main/java/de/pixart/messenger/entities/Conversation.java +++ b/src/main/java/de/pixart/messenger/entities/Conversation.java @@ -875,7 +875,10 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl MamReference lastReceived = new MamReference(0); synchronized (this.messages) { for (int i = this.messages.size() - 1; i >= 0; --i) { - Message message = this.messages.get(i); + final Message message = this.messages.get(i); + if (message.getType() == Message.TYPE_PRIVATE) { + continue; //it's unsafe to use private messages as anchor. They could be coming from user archive + } if (message.getStatus() == Message.STATUS_RECEIVED || message.isCarbon() || message.getServerMsgId() != null) { lastReceived = new MamReference(message.getTimeSent(),message.getServerMsgId()); break; -- cgit v1.2.3