From 89f73965487fb41ef27b496a46c4e0be5a8ab783 Mon Sep 17 00:00:00 2001 From: jolavillette Date: Thu, 21 May 2026 12:08:37 +0200 Subject: [PATCH 1/2] libretroshare: only save email config in checkOutgoingMessages when state changes --- src/services/p3msgservice.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/services/p3msgservice.cc b/src/services/p3msgservice.cc index 51e36f2d2..d4bce9a7c 100644 --- a/src/services/p3msgservice.cc +++ b/src/services/p3msgservice.cc @@ -395,6 +395,7 @@ void p3MsgService::checkSizeAndSendMessage(RsMsgItem *msg,const RsPeerId& destin int p3MsgService::checkOutgoingMessages() { + bool changed = false; auto pEvent = std::make_shared(); pEvent->mMailStatusEventCode = RsMailStatusEventCode::MESSAGE_SENT; @@ -421,6 +422,7 @@ int p3MsgService::checkOutgoingMessages() ++tmp; msgOutgoing.erase(mit); mit = tmp; + changed = true; continue; } @@ -454,6 +456,7 @@ int p3MsgService::checkOutgoingMessages() ++tmp; mit->second.erase(fit); fit = tmp; + changed = true; continue; } @@ -470,6 +473,7 @@ int p3MsgService::checkOutgoingMessages() { minfo.flags |= RS_MSG_FLAGS_ROUTED; minfo.flags |= RS_MSG_FLAGS_DISTANT; + changed = true; #ifdef DEBUG_DISTANT_MSG RsDbg() << "Message id " << mit->first << " is distant: kept in outgoing, and marked as ROUTED" << std::endl; @@ -491,6 +495,7 @@ int p3MsgService::checkOutgoingMessages() ++tmp; mit->second.erase(fit); fit = tmp; + changed = true; continue; } else @@ -509,6 +514,7 @@ int p3MsgService::checkOutgoingMessages() ++tmp; msgOutgoing.erase(mit); mit=tmp; + changed = true; } else ++mit; @@ -518,7 +524,11 @@ int p3MsgService::checkOutgoingMessages() if(rsEvents && !pEvent->mChangedMsgIds.empty()) rsEvents->postEvent(pEvent); - IndicateConfigChanged(RsConfigMgr::CheckPriority::SAVE_NOW); + if(changed) + { + RsDbg() << "MAIL: checkOutgoingMessages() triggering IndicateConfigChanged(SAVE_NOW)" << std::endl; + IndicateConfigChanged(RsConfigMgr::CheckPriority::SAVE_NOW); + } return 0; } From 11c61373823719b3e63de3c3eb9ca7c1dedd4130 Mon Sep 17 00:00:00 2001 From: jolavillette Date: Sun, 24 May 2026 08:37:15 +0200 Subject: [PATCH 2/2] remove debug output in p3MsgService::checkOutgoingMessages --- src/services/p3msgservice.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/p3msgservice.cc b/src/services/p3msgservice.cc index d4bce9a7c..472fbe37f 100644 --- a/src/services/p3msgservice.cc +++ b/src/services/p3msgservice.cc @@ -526,7 +526,7 @@ int p3MsgService::checkOutgoingMessages() if(changed) { - RsDbg() << "MAIL: checkOutgoingMessages() triggering IndicateConfigChanged(SAVE_NOW)" << std::endl; + // RsDbg() << "MAIL: checkOutgoingMessages() triggering IndicateConfigChanged(SAVE_NOW)" << std::endl; IndicateConfigChanged(RsConfigMgr::CheckPriority::SAVE_NOW); }