mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
archive account manager: save contacts after sync
Change-Id: I8e637ec1e5d00a62d2d19cc7bb5cc39c8da4be3a
This commit is contained in:
@ -240,6 +240,7 @@ AccountManager::startSync()
|
||||
v.confirm,
|
||||
std::move(v.payload))) {
|
||||
sendTrustRequestConfirm(peer_account);
|
||||
info_->contacts->saveTrustRequests();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
|
@ -497,11 +497,12 @@ ArchiveAccountManager::onSyncData(DeviceSync&& sync)
|
||||
// Sync contacts
|
||||
for (const auto& peer : sync.peers)
|
||||
info_->contacts->updateContact(peer.first, peer.second);
|
||||
// saveContacts();
|
||||
info_->contacts->saveContacts();
|
||||
|
||||
// Sync trust requests
|
||||
for (const auto& tr : sync.trust_requests)
|
||||
info_->contacts->onTrustRequest(tr.first, tr.second.device, tr.second.received, false, {});
|
||||
info_->contacts->saveTrustRequests();
|
||||
}
|
||||
|
||||
AccountArchive
|
||||
|
@ -81,7 +81,6 @@ ContactList::addContact(const dht::InfoHash& h, bool confirmed)
|
||||
trust_.setCertificateStatus(hStr, tls::TrustStore::PermissionStatus::ALLOWED);
|
||||
saveContacts();
|
||||
callbacks_.contactAdded(hStr, c->second.confirmed);
|
||||
// syncDevices();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -104,7 +103,6 @@ ContactList::removeContact(const dht::InfoHash& h, bool ban)
|
||||
saveTrustRequests();
|
||||
saveContacts();
|
||||
callbacks_.contactRemoved(uri, ban);
|
||||
// syncDevices();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -251,8 +249,6 @@ ContactList::onTrustRequest(const dht::InfoHash& peer_account,
|
||||
if (not contact->second.confirmed) {
|
||||
contact->second.confirmed = true;
|
||||
callbacks_.contactAdded(peer_account.toString(), true);
|
||||
saveContacts();
|
||||
// syncDevices();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -275,7 +271,6 @@ ContactList::onTrustRequest(const dht::InfoHash& peer_account,
|
||||
peer_account.toString().c_str());
|
||||
}
|
||||
}
|
||||
saveTrustRequests();
|
||||
callbacks_.trustRequest(req->first.toString(), req->second.payload, received);
|
||||
}
|
||||
return accept;
|
||||
|
@ -95,6 +95,9 @@ public:
|
||||
void setContacts(const std::map<dht::InfoHash, Contact>&);
|
||||
void updateContact(const dht::InfoHash&, const Contact&);
|
||||
|
||||
/** Should be called only after updateContact */
|
||||
void saveContacts() const;
|
||||
|
||||
/* Contact requests */
|
||||
|
||||
/** Inform of a new contact request. Returns true if the request should be immediatly accepted
|
||||
@ -108,6 +111,9 @@ public:
|
||||
bool acceptTrustRequest(const dht::InfoHash& from);
|
||||
bool discardTrustRequest(const dht::InfoHash& from);
|
||||
|
||||
/** Should be called only after onTrustRequest */
|
||||
void saveTrustRequests() const;
|
||||
|
||||
/* Devices */
|
||||
const std::map<dht::InfoHash, KnownDevice>& getKnownDevices() const { return knownDevices_; }
|
||||
void foundAccountDevice(const dht::InfoHash& device,
|
||||
@ -139,10 +145,7 @@ private:
|
||||
OnChangeCallback callbacks_;
|
||||
|
||||
void loadContacts();
|
||||
void saveContacts() const;
|
||||
|
||||
void loadTrustRequests();
|
||||
void saveTrustRequests() const;
|
||||
|
||||
void loadKnownDevices();
|
||||
void saveKnownDevices() const;
|
||||
|
@ -402,6 +402,7 @@ ServerAccountManager::syncDevices()
|
||||
this_.info_->contacts
|
||||
->updateContact(dht::InfoHash {e["uri"].asString()}, contact);
|
||||
}
|
||||
this_.info_->contacts->saveContacts();
|
||||
}
|
||||
} catch (const std::exception& e) {
|
||||
JAMI_ERR("Error when iterating contact list: %s", e.what());
|
||||
|
Reference in New Issue
Block a user