summary refs log tree commit diff
path: root/src/TimelineView.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-09-30 15:52:14 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-09-30 15:52:14 +0300
commitb9521b08094595b16338d2476d6ee7665eed33bb (patch)
tree63b83582e984aaade1700d5085cf2be91904ea58 /src/TimelineView.cc
parentAllow handling of incomplete /sync responses (#67) (diff)
downloadnheko-b9521b08094595b16338d2476d6ee7665eed33bb.tar.xz
Stop sync timer after logout
Silence errors from redacted events
Diffstat (limited to 'src/TimelineView.cc')
-rw-r--r--src/TimelineView.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/TimelineView.cc b/src/TimelineView.cc

index cffc8601..542ab98e 100644 --- a/src/TimelineView.cc +++ b/src/TimelineView.cc
@@ -34,6 +34,19 @@ namespace events = matrix::events; namespace msgs = matrix::events::messages; +static bool +isRedactedEvent(const QJsonObject &event) +{ + if (event.contains("redacted_because")) + return true; + + if (event.contains("unsigned") && + event.value("unsigned").toObject().contains("redacted_because")) + return true; + + return false; +} + TimelineView::TimelineView(const Timeline &timeline, QSharedPointer<MatrixClient> client, const QString &room_id, @@ -310,7 +323,11 @@ TimelineView::parseMessageEvent(const QJsonObject &event, TimelineDirection dire return createTimelineItem(emote, with_sender); } else if (msg_type == events::MessageEventType::Unknown) { - qWarning() << "Unknown message type" << event; + // TODO Handle redacted messages. + // Silenced for now. + if (!isRedactedEvent(event)) + qWarning() << "Unknown message type" << event; + return nullptr; } }