From 24e1a0a596a6ec45cd32a35b6fe5490ff9ff0328 Mon Sep 17 00:00:00 2001 From: James Graham Date: Sun, 17 Nov 2024 14:14:06 +0000 Subject: [PATCH] Make sure that for multiple sed edits we grab the eventID of the original message not the replacement --- src/models/actionsmodel.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/models/actionsmodel.cpp b/src/models/actionsmodel.cpp index 81674ceb7..d7e6b8a3f 100644 --- a/src/models/actionsmodel.cpp +++ b/src/models/actionsmodel.cpp @@ -600,14 +600,19 @@ bool ActionsModel::handleQuickEditAction(NeoChatRoom *room, const QString &messa } else { 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) { - room->postHtmlMessage(messageText, originalString.replace(regex, replacement), event->msgtype(), {}, event->id()); + room->postHtmlMessage(messageText, originalString.replace(regex, replacement), event->msgtype(), {}, replaceId); } else { room->postHtmlMessage(messageText, originalString.replace(originalString.indexOf(regex), regex.size(), replacement), event->msgtype(), {}, - event->id()); + replaceId); } return true; }