fix: second reply treated as separate message

Phillip Davis created

diagnosis: when we get a message with a <replace> element,
we overwrite several fields of the replaced message. Unfortunately, this
includes the remoteId of the replaced message, which is the field by
which we look up the message to be replaced. All corrections to a
message reference the id of the original, unedited message, so edits
>= 2 find a null replacedMessage.

fix is just to remove that line

Change summary

src/main/java/eu/siacs/conversations/parser/MessageParser.java | 1 -
1 file changed, 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/parser/MessageParser.java 🔗

@@ -1098,7 +1098,6 @@ public class MessageParser extends AbstractParser
                             replacedMessage.setSubject(message.getSubject());
                             replacedMessage.setThread(message.getThread());
                             replacedMessage.putEdited(replacedMessage.getRemoteMsgId(), replacedMessage.getServerMsgId());
-                            replacedMessage.setRemoteMsgId(remoteMsgId);
                             if (replaceElement != null && !replaceElement.getName().equals("replace")) {
                                 mXmppConnectionService.getFileBackend().deleteFile(replacedMessage);
                                 mXmppConnectionService.evictPreview(message.getUuid());