From f73decade84f269a031a81899800455b9567d685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Wed, 17 Jun 2020 11:52:32 -0400 Subject: [PATCH] contact_list: setContacts must call contactAdded() Because setContacts() just change the contact list but never notify the client, the client can't know the contacts from the new account. Change-Id: I02e27f3b768dd7def661d3568a796a91eaa78751 Gitlab: #230 --- src/jamidht/contact_list.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/jamidht/contact_list.cpp b/src/jamidht/contact_list.cpp index 26af69dda2..5ba65b56d6 100644 --- a/src/jamidht/contact_list.cpp +++ b/src/jamidht/contact_list.cpp @@ -76,7 +76,6 @@ ContactList::addContact(const dht::InfoHash& h, bool confirmed) trust_.setCertificateStatus(hStr, tls::TrustStore::PermissionStatus::ALLOWED); saveContacts(); callbacks_.contactAdded(hStr, c->second.confirmed); - //emitSignal<DRing::ConfigurationSignal::ContactAdded>(account_.get().getAccountID(), hStr, c->second.confirmed); //syncDevices(); return true; } @@ -99,7 +98,6 @@ ContactList::removeContact(const dht::InfoHash& h, bool ban) saveTrustRequests(); saveContacts(); callbacks_.contactRemoved(uri, ban); - //emitSignal<DRing::ConfigurationSignal::ContactRemoved>(account_.get().getAccountID(), uri, ban); //syncDevices(); return true; } @@ -131,6 +129,9 @@ ContactList::setContacts(const std::map<dht::InfoHash, Contact>& contacts) { contacts_ = contacts; saveContacts(); + // Set contacts is used when creating a new device, so just announce new contacts + for (auto& peer : contacts) + callbacks_.contactAdded(peer.first.toString(), peer.second.confirmed); } void -- GitLab