From 4086924ede995e3f5e99652ff6e969116164217b Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Mon, 23 Mar 2026 12:25:34 +0100
Subject: [PATCH] fix: persistent MQTT sessions - broker queues messages for offline clients

---
 lib/services/mqtt_service.dart |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/lib/services/mqtt_service.dart b/lib/services/mqtt_service.dart
index 1d4cfa9..32e6fba 100644
--- a/lib/services/mqtt_service.dart
+++ b/lib/services/mqtt_service.dart
@@ -149,15 +149,10 @@
       client.onAutoReconnect = _onAutoReconnect;
       client.onAutoReconnected = _onAutoReconnected;
 
-      // Persistent session (cleanSession = false) for offline message queuing
+      // Persistent session: broker queues QoS 1 messages while client is offline
       final connMessage = MqttConnectMessage()
           .withClientIdentifier(clientId)
-          .authenticateAs('pailot', config.mqttToken ?? '')
-          .startClean(); // Use clean session for now; persistent sessions require broker support
-
-      // For persistent sessions, replace startClean() with:
-      // .withWillQos(MqttQos.atLeastOnce);
-      // and remove startClean()
+          .authenticateAs('pailot', config.mqttToken ?? '');
 
       client.connectionMessage = connMessage;
 

--
Gitblit v1.3.1