From 619727f7e741b9104c7601fd319f9248513e9506 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Sun, 22 Mar 2026 10:54:50 +0100
Subject: [PATCH] fix: capture session ID before image picker to prevent mis-routing

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

diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart
index b773415..cc58220 100644
--- a/lib/screens/chat_screen.dart
+++ b/lib/screens/chat_screen.dart
@@ -522,6 +522,9 @@
   }
 
   Future<void> _pickPhoto() async {
+    // Capture session ID now — before any async gaps (dialog, encoding)
+    final targetSessionId = ref.read(activeSessionIdProvider);
+
     final picker = ImagePicker();
     final images = await picker.pickMultiImage(
       maxWidth: 1920,
@@ -568,7 +571,7 @@
         'audioBase64': voiceB64,
         'content': '',
         'messageId': voiceMsg.id,
-        'sessionId': ref.read(activeSessionIdProvider),
+        'sessionId': targetSessionId,
       });
     }
 
@@ -582,7 +585,7 @@
         'imageBase64': encodedImages[i],
         'mimeType': 'image/jpeg',
         'caption': msgCaption,
-        'sessionId': ref.read(activeSessionIdProvider),
+        'sessionId': targetSessionId,
       });
     }
 

--
Gitblit v1.3.1