Compare commits

...

2 Commits

Author SHA1 Message Date
ebea6d9d65 contactmodel: track presence after accepting request
This was broken when passing to only conversation's requests with
an un-needed condition

Change-Id: Ibe422474037c60ede21425b016017615d1bbf0f5
2023-01-23 16:49:45 -05:00
7a9d0699dd text-encoding: maintain UTF-8 when converting to MapStringString
Change-Id: I6d10827c4b5dcd2cddc8516f3c30d3f986774ffb
2023-01-20 16:07:34 -05:00
2 changed files with 4 additions and 12 deletions

View File

@ -782,16 +782,9 @@ ContactModelPimpl::slotContactAdded(const QString& accountId,
if (accountId != linked.owner.id)
return;
auto contact = contacts.find(contactUri);
if (contact != contacts.end()) {
if (contact->profileInfo.type == profile::Type::PENDING) {
Q_EMIT behaviorController.trustRequestTreated(linked.owner.id, contactUri);
} else if (contact->profileInfo.type == profile::Type::JAMI && !contact->isBanned
&& confirmed) {
// This means that the peer accepted the trust request. We don't need to re-add the
// contact a second time (and this reset the presence to false).
return;
}
}
if (contact != contacts.end() && contact->profileInfo.type == profile::Type::PENDING)
Q_EMIT behaviorController.trustRequestTreated(linked.owner.id, contactUri);
// for jams account we already have profile with avatar, use it to save to vCard
bool isJamsAccount = !linked.owner.confProperties.managerUri.isEmpty();
if (isJamsAccount) {
@ -925,7 +918,6 @@ ContactModelPimpl::addToContacts(const QString& contactUri,
if (!lrc::api::Lrc::cacheAvatars.load())
contactInfo.profileInfo.avatar.clear();
// lookup address in case of RING contact
if (type == profile::Type::JAMI) {
ConfigurationManager::instance().lookupAddress(linked.owner.id, "", contactUri);
PresenceManager::instance().subscribeBuddy(linked.owner.id, contactUri, !banned);

View File

@ -68,7 +68,7 @@ convertMap(const std::map<std::string, std::string>& m)
{
MapStringString temp;
for (const auto& [key, value] : m) {
temp[QString(key.c_str())] = QString::fromLatin1(QByteArray::fromStdString(value));
temp[QString(key.c_str())] = QString(value.c_str());
}
return temp;
}