diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-07-17 20:46:34 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-07-17 20:46:34 +0200 |
commit | 6e93f698a138122f61915cce190292c8a487c811 (patch) | |
tree | f2c375b4348128d32867f857a2466f2e60dd3a49 /src/main/java/de/pixart/messenger | |
parent | 1f77d6b8cd5cd91bbed953bcdf0038020f2173ae (diff) |
muc message corrections only compare bare jid true counterpart
during live messages we only store the bare real jid; on muc catch up we might get the full jid
for that reason we only compare bare jids
Diffstat (limited to 'src/main/java/de/pixart/messenger')
-rw-r--r-- | src/main/java/de/pixart/messenger/parser/MessageParser.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/parser/MessageParser.java b/src/main/java/de/pixart/messenger/parser/MessageParser.java index d0831aef9..e07ac2615 100644 --- a/src/main/java/de/pixart/messenger/parser/MessageParser.java +++ b/src/main/java/de/pixart/messenger/parser/MessageParser.java @@ -651,7 +651,8 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece final boolean fingerprintsMatch = replacedMessage.getFingerprint() == null || replacedMessage.getFingerprint().equals(message.getFingerprint()); final boolean trueCountersMatch = replacedMessage.getTrueCounterpart() != null - && replacedMessage.getTrueCounterpart().equals(message.getTrueCounterpart()); + && message.getTrueCounterpart() != null + && replacedMessage.getTrueCounterpart().asBareJid().equals(message.getTrueCounterpart().asBareJid()); final boolean mucUserMatches = query == null && replacedMessage.sameMucUser(message); //can not be checked when using mam final boolean duplicate = conversation.hasDuplicateMessage(message); if (fingerprintsMatch && (trueCountersMatch || !conversationMultiMode || mucUserMatches) && !duplicate) { |