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