Change summary
src/main/java/eu/siacs/conversations/parser/MessageParser.java | 5 +++
1 file changed, 4 insertions(+), 1 deletion(-)
Detailed changes
@@ -531,7 +531,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
}
if (replacementId != null && mXmppConnectionService.allowMessageCorrection()) {
- Message replacedMessage = conversation.findMessageWithRemoteIdAndCounterpart(replacementId,
+ final Message replacedMessage = conversation.findMessageWithRemoteIdAndCounterpart(replacementId,
counterpart,
message.getStatus() == Message.STATUS_RECEIVED,
message.isCarbon());
@@ -549,6 +549,9 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
replacedMessage.setBody(message.getBody());
replacedMessage.setEdited(replacedMessage.getRemoteMsgId());
replacedMessage.setRemoteMsgId(remoteMsgId);
+ if (replacedMessage.getServerMsgId() == null || message.getServerMsgId() != null) {
+ replacedMessage.setServerMsgId(message.getServerMsgId());
+ }
replacedMessage.setEncryption(message.getEncryption());
if (replacedMessage.getStatus() == Message.STATUS_RECEIVED) {
replacedMessage.markUnread();