diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index 5232f16c..7c718ca8 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -585,22 +585,16 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r
auto ascent = QFontMetrics(UserSettings::instance()->font()).ascent();
- bool isReply = utils::isReply(event);
+ bool isReply = mtx::accessors::relations(event).reply_to(false).has_value();
auto formattedBody_ = QString::fromStdString(formatted_body(event));
if (formattedBody_.isEmpty()) {
- auto body_ = QString::fromStdString(body(event));
-
- if (isReply) {
- while (body_.startsWith(QLatin1String("> ")))
- body_ = body_.right(body_.size() - body_.indexOf('\n') - 1);
- if (body_.startsWith('\n'))
- body_ = body_.right(body_.size() - 1);
- }
- formattedBody_ = body_.toHtmlEscaped().replace('\n', QLatin1String("
"));
- } else {
- if (isReply)
- formattedBody_ = formattedBody_.remove(replyFallback);
+ // NOTE(Nico): replies without html can't have a fallback. If they do, eh, who cares.
+ formattedBody_ = QString::fromStdString(body(event))
+ .toHtmlEscaped()
+ .replace('\n', QLatin1String("
"));
+ } else if (isReply) {
+ formattedBody_ = formattedBody_.remove(replyFallback);
}
formattedBody_ = utils::escapeBlacklistedHtml(formattedBody_);