aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/events/roommessageevent.cpp6
-rw-r--r--lib/events/roommessageevent.h4
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/events/roommessageevent.cpp b/lib/events/roommessageevent.cpp
index 078ae70a..616a034f 100644
--- a/lib/events/roommessageevent.cpp
+++ b/lib/events/roommessageevent.cpp
@@ -120,9 +120,11 @@ QJsonObject RoomMessageEvent::assembleContentJson(const QString& plainBody,
if (textContent->relatesTo->type == RelatesTo::ReplacementTypeId()) {
auto newContentJson = json.take("m.new_content"_ls).toObject();
newContentJson.insert(BodyKey, plainBody);
- newContentJson.insert(TypeKey, jsonMsgType);
+ newContentJson.insert(MsgTypeKeyL, jsonMsgType);
json.insert(QStringLiteral("m.new_content"), newContentJson);
+ json[MsgTypeKeyL] = jsonMsgType;
json[BodyKeyL] = "* " + plainBody;
+ return json;
}
}
}
@@ -336,7 +338,7 @@ void TextContent::fillJson(QJsonObject* json) const
}
if (relatesTo) {
json->insert(QStringLiteral("m.relates_to"),
- QJsonObject { { relatesTo->type, relatesTo->eventId } });
+ QJsonObject { { "rel_type", relatesTo->type }, { EventIdKey, relatesTo->eventId } });
if (relatesTo->type == RelatesTo::ReplacementTypeId()) {
QJsonObject newContentJson;
if (mimeType.inherits("text/html")) {
diff --git a/lib/events/roommessageevent.h b/lib/events/roommessageevent.h
index ded5e572..2501d097 100644
--- a/lib/events/roommessageevent.h
+++ b/lib/events/roommessageevent.h
@@ -105,6 +105,10 @@ namespace EventContent {
{
return { RelatesTo::ReplyTypeId(), std::move(eventId) };
}
+ inline RelatesTo replacementOf(QString eventId)
+ {
+ return { RelatesTo::ReplacementTypeId(), std::move(eventId) };
+ }
/**
* Rich text content for m.text, m.emote, m.notice