From 04347a39443839394aa3ab12ca4f50bf41f09219 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Tue, 24 Mar 2026 03:25:36 +0100
Subject: [PATCH] fix: don't reset session state on resume - prevents drawer flicker
---
lib/services/mqtt_service.dart | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/lib/services/mqtt_service.dart b/lib/services/mqtt_service.dart
index 41df849..1ff7a7d 100644
--- a/lib/services/mqtt_service.dart
+++ b/lib/services/mqtt_service.dart
@@ -524,12 +524,10 @@
_setStatus(ConnectionStatus.reconnecting);
connect();
} else {
- // Thinks it's connected — send a sync command to verify.
- // If the connection is dead, the MQTT library will detect it
- // via the next keepalive cycle and auto-reconnect will fire.
- // Also re-request sessions to refresh the drawer.
- _mqttLog('MQTT: appears connected, refreshing sessions...');
- onOpen?.call();
+ // Appears connected — just let it be. The MQTT keepalive will
+ // detect dead connections and auto-reconnect will handle it.
+ // Don't call onOpen (it resets sessionReady and causes flicker).
+ _mqttLog('MQTT: appears connected on resume, keeping current state');
}
case AppLifecycleState.paused:
break;
--
Gitblit v1.3.1