summary refs log tree commit diff
path: root/src/MatrixClient.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-04-21 16:34:50 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-04-21 16:35:03 +0300
commit2f00fc51bf27708a9c0ac1ce186043059f93923e (patch)
tree2e65159dd08fd9576b18f7f1570b41b56029ccda /src/MatrixClient.cc
parentPopup improvements (diff)
downloadnheko-2f00fc51bf27708a9c0ac1ce186043059f93923e.tar.xz
Cache refactoring
Diffstat (limited to 'src/MatrixClient.cc')
-rw-r--r--src/MatrixClient.cc24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/MatrixClient.cc b/src/MatrixClient.cc

index e7d04ebb..17a34d96 100644 --- a/src/MatrixClient.cc +++ b/src/MatrixClient.cc
@@ -28,6 +28,7 @@ #include <QProcessEnvironment> #include <QSettings> #include <QUrlQuery> +#include <QtConcurrent> #include <mtx/errors.hpp> #include "Deserializable.h" @@ -438,16 +439,15 @@ MatrixClient::initialSync() noexcept return; } - auto data = reply->readAll(); - - try { - mtx::responses::Sync response = nlohmann::json::parse(data); - emit initialSyncCompleted(response); - } catch (std::exception &e) { - qWarning() << "Initial sync error:" << e.what(); - emit initialSyncFailed(); - return; - } + qRegisterMetaType<mtx::responses::Sync>(); + QtConcurrent::run([data = reply->readAll(), this]() { + try { + emit initialSyncCompleted(nlohmann::json::parse(std::move(data))); + } catch (std::exception &e) { + qWarning() << "Initial sync error:" << e.what(); + emit initialSyncFailed(); + } + }); }); } @@ -730,10 +730,8 @@ MatrixClient::fetchUserAvatar(const QUrl &avatarUrl) { QList<QString> url_parts = avatarUrl.toString().split("mxc://"); - if (url_parts.size() != 2) { - qDebug() << "Invalid format for user avatar:" << avatarUrl.toString(); + if (url_parts.size() != 2) return QSharedPointer<DownloadMediaProxy>(); - } QUrlQuery query; query.addQueryItem("width", "128");