Don't strip fallbacks on plain text bodies

This commit is contained in:
Nicolas Werner 2022-10-03 21:49:02 +02:00
parent cfcdc23d4a
commit 33403d650a
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
1 changed files with 7 additions and 13 deletions

View File

@ -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("<br>"));
} 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("<br>"));
} else if (isReply) {
formattedBody_ = formattedBody_.remove(replyFallback);
}
formattedBody_ = utils::escapeBlacklistedHtml(formattedBody_);