summaryrefslogtreecommitdiffstats
path: root/src
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
parent4c00e64f3fe92df3dbd2f0bc721469155b06683e (diff)
Stop sync timer after logout
Silence errors from redacted events
Diffstat (limited to 'src')
-rw-r--r--src/ChatPage.cc4
-rw-r--r--src/TimelineView.cc19
2 files changed, 22 insertions, 1 deletions
diff --git a/src/ChatPage.cc b/src/ChatPage.cc
index 3134f820..3d3a3876 100644
--- a/src/ChatPage.cc
+++ b/src/ChatPage.cc
@@ -264,6 +264,10 @@ ChatPage::setOwnAvatar(const QPixmap &img)
void
ChatPage::syncFailed(const QString &msg)
{
+ // Stop if sync is not active. e.g user is logged out.
+ if (client_->getHomeServer().isEmpty())
+ return;
+
qWarning() << "Sync error:" << msg;
sync_timer_->start(sync_interval_ * 5);
}
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;
}
}