aboutsummaryrefslogtreecommitdiff
path: root/lib/connection.cpp
diff options
context:
space:
mode:
authorAlexey Rusakov <Kitsune-Ral@users.sf.net>2022-02-15 20:51:32 +0100
committerAlexey Rusakov <Kitsune-Ral@users.sf.net>2022-02-16 17:58:17 +0100
commit53dfa70601b2d27a6be12d52e86af123d0b26b79 (patch)
treea8629e4a229edfeec7c5f32ab72db7d63dc1ed06 /lib/connection.cpp
parent52a787eefb3fb3d147648d08fc439a4b8a966fd3 (diff)
downloadlibquotient-53dfa70601b2d27a6be12d52e86af123d0b26b79.tar.gz
libquotient-53dfa70601b2d27a6be12d52e86af123d0b26b79.zip
Cleanup
A note on switching to QLatin1String for JSON key constants - this is more concise and barely affects (if at all) runtime performance (padding each QChar with zeros is trivial for assignment; and comparison can be done directly with the same performance as for two QStrings).
Diffstat (limited to 'lib/connection.cpp')
-rw-r--r--lib/connection.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/lib/connection.cpp b/lib/connection.cpp
index 14188ace..3b8da6d1 100644
--- a/lib/connection.cpp
+++ b/lib/connection.cpp
@@ -754,18 +754,20 @@ QJsonObject toJson(const DirectChatsMap& directChats)
void Connection::onSyncSuccess(SyncData&& data, bool fromCache)
{
#ifdef Quotient_E2EE_ENABLED
- if(data.deviceOneTimeKeysCount()["signed_curve25519"] < 0.4 * d->olmAccount->maxNumberOfOneTimeKeys() && !d->isUploadingKeys) {
+ const auto oneTimeKeyCount =
+ static_cast<size_t>(data.deviceOneTimeKeysCount()[SignedCurve25519Key]);
+ if (oneTimeKeyCount < 0.4 * d->olmAccount->maxNumberOfOneTimeKeys()
+ && !d->isUploadingKeys) {
d->isUploadingKeys = true;
- d->olmAccount->generateOneTimeKeys(d->olmAccount->maxNumberOfOneTimeKeys() / 2 - data.deviceOneTimeKeysCount()["signed_curve25519"]);
+ d->olmAccount->generateOneTimeKeys(
+ d->olmAccount->maxNumberOfOneTimeKeys() / 2 - oneTimeKeyCount);
auto keys = d->olmAccount->oneTimeKeys();
auto job = d->olmAccount->createUploadKeyRequest(keys);
run(job, ForegroundRequest);
- connect(job, &BaseJob::success, this, [this](){
- d->olmAccount->markKeysAsPublished();
- });
- connect(job, &BaseJob::result, this, [this](){
- d->isUploadingKeys = false;
- });
+ connect(job, &BaseJob::success, this,
+ [this] { d->olmAccount->markKeysAsPublished(); });
+ connect(job, &BaseJob::result, this,
+ [this] { d->isUploadingKeys = false; });
}
static bool first = true;
if(first) {
@@ -1993,7 +1995,9 @@ void Connection::Private::loadOutdatedUserDevices()
deviceKeys[user].clear();
for(const auto &device : keys) {
if(device.userId != user) {
- qCWarning(E2EE) << "mxId mismatch during device key verification:" << device.userId << user;
+ qCWarning(E2EE)
+ << "mxId mismatch during device key verification:"
+ << device.userId << user;
continue;
}
if(!device.algorithms.contains("m.olm.v1.curve25519-aes-sha2") || !device.algorithms.contains("m.megolm.v1.aes-sha2")) {