From a948bc0745bd81a91a7f9b7d0dd4551b672b3a0d Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Tue, 24 Mar 2026 08:22:03 +0100
Subject: [PATCH] fix: update cached session order on reorder so server updates preserve it

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

diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart
index b9692c4..c649f2b 100644
--- a/lib/screens/chat_screen.dart
+++ b/lib/screens/chat_screen.dart
@@ -1246,8 +1246,10 @@
     final item = sessions.removeAt(oldIndex);
     sessions.insert(newIndex, item);
     ref.read(sessionsProvider.notifier).state = sessions;
-    // Persist custom order
-    _saveSessionOrder(sessions.map((s) => s.id).toList());
+    // Persist custom order AND update cache so next server update preserves it
+    final ids = sessions.map((s) => s.id).toList();
+    _cachedSessionOrder = ids;
+    _saveSessionOrder(ids);
   }
 
   void _saveSessionOrder(List<String> ids) {

--
Gitblit v1.3.1