From 41f5009304a33ab510cd66c4798f4c6dd11ff41c Mon Sep 17 00:00:00 2001 From: Sebastian Muszynski Date: Fri, 12 Sep 2025 08:38:40 +0200 Subject: [PATCH] Refactor: Simplify LWT retain logic for better readability --- src/publisher/pubMqtt.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/publisher/pubMqtt.h b/src/publisher/pubMqtt.h index c9ddae27..06631bdd 100644 --- a/src/publisher/pubMqtt.h +++ b/src/publisher/pubMqtt.h @@ -235,9 +235,13 @@ class PubMqtt { else snprintf(mTopic.data(), mTopic.size(), "%s", subTopic); - if(!mCfgMqtt->enableRetain && String(mTopic.data()) != String(mLwtTopic.data())) + if(!mCfgMqtt->enableRetain) retained = false; + // LWT messages should always be retained + if(strcmp(mTopic.data(), mLwtTopic.data()) == 0) + retained = true; + mClient.publish(mTopic.data(), qos, retained, payload); yield(); mTxCnt++;