diff --git a/src/jamidht/conversation_module.cpp b/src/jamidht/conversation_module.cpp index 623db0a95b9e41bd3e6bedd7a70e95b64579790f..8919f1831d9886c7891a410f5ffde456fb32e1de 100644 --- a/src/jamidht/conversation_module.cpp +++ b/src/jamidht/conversation_module.cpp @@ -1933,12 +1933,18 @@ ConversationModule::onSyncData(const SyncMsg& msg, auto& ci = pimpl_->convInfos_; auto itConv = ci.find(convId); if (itConv != ci.end()) { - itConv->second.removed = std::time(nullptr); - if (convInfo.erased) { + auto update = false; + if (!itConv->second.removed) { + update = true; + itConv->second.removed = std::time(nullptr); + } + if (convInfo.erased && !itConv->second.erased) { itConv->second.erased = std::time(nullptr); pimpl_->saveConvInfos(); lk.unlock(); pimpl_->removeRepository(convId, false); + } else if (update) { + pimpl_->saveConvInfos(); } } }