Make sure that for multiple sed edits we grab the eventID of the original message not the replacement

This commit is contained in:
James Graham
2024-11-17 14:14:06 +00:00
committed by Carl Schwan
parent 3f922b4c90
commit 24e1a0a596

View File

@@ -600,14 +600,19 @@ bool ActionsModel::handleQuickEditAction(NeoChatRoom *room, const QString &messa
} else { } else {
originalString = event->plainBody(); originalString = event->plainBody();
} }
QString replaceId = event->id();
const auto eventRelation = event->relatesTo();
if (eventRelation && eventRelation->type == "m.replace"_L1) {
replaceId = eventRelation->eventId;
}
if (flags == "/g"_L1) { if (flags == "/g"_L1) {
room->postHtmlMessage(messageText, originalString.replace(regex, replacement), event->msgtype(), {}, event->id()); room->postHtmlMessage(messageText, originalString.replace(regex, replacement), event->msgtype(), {}, replaceId);
} else { } else {
room->postHtmlMessage(messageText, room->postHtmlMessage(messageText,
originalString.replace(originalString.indexOf(regex), regex.size(), replacement), originalString.replace(originalString.indexOf(regex), regex.size(), replacement),
event->msgtype(), event->msgtype(),
{}, {},
event->id()); replaceId);
} }
return true; return true;
} }