From 33403d650a0fce3d2d85b41e1f27d7141b4721f6 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 3 Oct 2022 21:49:02 +0200 Subject: [PATCH] Don't strip fallbacks on plain text bodies --- src/timeline/TimelineModel.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) 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_);