If the message body is empty, say so

Normally if a malformed event is empty it will just be empty space - but
that looks buggy. Instead, we can add a message saying "This event does
not have any content."

BUG: 494093
This commit is contained in:
Joshua Goins
2025-05-17 21:09:25 -04:00
parent e7040a518a
commit e9568b50fc

View File

@@ -559,12 +559,20 @@ QList<MessageComponent> MessageContentModel::componentsForType(MessageComponentT
case MessageComponentType::Text: { case MessageComponentType::Text: {
const auto roomMessageEvent = eventCast<const Quotient::RoomMessageEvent>(event.first); const auto roomMessageEvent = eventCast<const Quotient::RoomMessageEvent>(event.first);
auto body = EventHandler::rawMessageBody(*roomMessageEvent); auto body = EventHandler::rawMessageBody(*roomMessageEvent);
if (body.trimmed().isEmpty()) {
return TextHandler().textComponents(i18n("<i>This event does not have any content.</i>"),
Qt::TextFormat::RichText,
m_room,
roomMessageEvent,
roomMessageEvent->isReplaced());
} else {
return TextHandler().textComponents(body, return TextHandler().textComponents(body,
EventHandler::messageBodyInputFormat(*roomMessageEvent), EventHandler::messageBodyInputFormat(*roomMessageEvent),
m_room, m_room,
roomMessageEvent, roomMessageEvent,
roomMessageEvent->isReplaced()); roomMessageEvent->isReplaced());
} }
}
case MessageComponentType::File: { case MessageComponentType::File: {
QList<MessageComponent> components; QList<MessageComponent> components;
components += MessageComponent{MessageComponentType::File, QString(), {}}; components += MessageComponent{MessageComponentType::File, QString(), {}};