From 413a2564b6d017ec1face942359b5653b6d1da80 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Tue, 28 Feb 2023 23:23:52 +0200 Subject: [PATCH] server: don't encode addresses in contacts_handlers Seems it doesn't always play nice with composer --- lib/message/mu-contact.cc | 1 - lib/mu-contacts-cache.cc | 11 +++++------ lib/mu-server.cc | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/message/mu-contact.cc b/lib/message/mu-contact.cc index 50435d55..d507be69 100644 --- a/lib/message/mu-contact.cc +++ b/lib/message/mu-contact.cc @@ -41,7 +41,6 @@ needs_quoting(const std::string& name) std::string Contact::display_name(bool quote) const { - if (name.empty()) return email; else if (!quote || !needs_quoting(name)) diff --git a/lib/mu-contacts-cache.cc b/lib/mu-contacts-cache.cc index f5613daa..a468b899 100644 --- a/lib/mu-contacts-cache.cc +++ b/lib/mu-contacts-cache.cc @@ -142,8 +142,7 @@ ContactsCache::Private::deserialize(const std::string& serialized) const ContactsCache::ContactsCache(const std::string& serialized, const StringVec& personal) : priv_{std::make_unique(serialized, personal)} -{ -} +{} ContactsCache::~ContactsCache() = default; @@ -208,7 +207,7 @@ ContactsCache::add(Contact&& contact) auto email{contact.email}; // return priv_->contacts_.emplace(ContactUMap::value_type(email, std::move(contact))) // .first->second; - + g_debug("adding contact %s <%s>", contact.name.c_str(), contact.email.c_str()); priv_->contacts_.emplace(ContactUMap::value_type(email, std::move(contact))); } else { // existing contact. @@ -222,6 +221,8 @@ ContactsCache::add(Contact&& contact) existing.tstamp = g_get_monotonic_time(); existing.message_date = contact.message_date; } + g_debug("updating contact %s <%s> (%zu)", + contact.name.c_str(), contact.email.c_str(), existing.frequency); } } @@ -282,9 +283,7 @@ struct ContactLessThan { ContactLessThan() : recently_{::time({}) - RecentOffset} {} - - bool operator()(const Mu::Contact& ci1, const Mu::Contact& ci2) const - { + bool operator()(const Mu::Contact& ci1, const Mu::Contact& ci2) const { // non-personal is less relevant. if (ci1.personal != ci2.personal) return ci1.personal < ci2.personal; diff --git a/lib/mu-server.cc b/lib/mu-server.cc index 15e52b6f..50087ad2 100644 --- a/lib/mu-server.cc +++ b/lib/mu-server.cc @@ -533,7 +533,7 @@ Server::Private::contacts_handler(const Command& cmd) n++; - contacts.add(ci.display_name(true/*encode-if-needed*/)); + contacts.add(ci.display_name()); return maxnum == 0 || n < maxnum; });