From 16ffd8b7d28ec04b7591d08cb654148545d8598e Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Sun, 22 Mar 2026 19:47:53 +0100
Subject: [PATCH] fix: await cross-session message storage before switch

---
 lib/screens/chat_screen.dart |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart
index 469c57c..16069ba 100644
--- a/lib/screens/chat_screen.dart
+++ b/lib/screens/chat_screen.dart
@@ -387,10 +387,10 @@
   }
 
   /// Store a message for a non-active session so it persists when the user switches to it.
-  void _storeForSession(String sessionId, Message message) {
-    MessageStore.loadAll(sessionId).then((existing) {
-      MessageStore.save(sessionId, [...existing, message]);
-    });
+  Future<void> _storeForSession(String sessionId, Message message) async {
+    final existing = await MessageStore.loadAll(sessionId);
+    MessageStore.save(sessionId, [...existing, message]);
+    await MessageStore.flush();
   }
 
   void _incrementUnread(String sessionId) {

--
Gitblit v1.3.1