From 45c33f8cd35d4fe7679973f573fd6ecab9c2dd32 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Sun, 22 Mar 2026 19:57:18 +0100
Subject: [PATCH] fix: await cross-session store before toast for voice and text
---
lib/screens/chat_screen.dart | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart
index 7741463..0c302f5 100644
--- a/lib/screens/chat_screen.dart
+++ b/lib/screens/chat_screen.dart
@@ -267,7 +267,7 @@
}
}
- void _handleIncomingMessage(Map<String, dynamic> msg) {
+ Future<void> _handleIncomingMessage(Map<String, dynamic> msg) async {
final sessionId = msg['sessionId'] as String?;
final content = msg['content'] as String? ??
msg['text'] as String? ??
@@ -282,7 +282,7 @@
final activeId = ref.read(activeSessionIdProvider);
if (sessionId != null && sessionId != activeId) {
// Store message for the other session so it's there when user switches
- _storeForSession(sessionId, message);
+ await _storeForSession(sessionId, message);
_incrementUnread(sessionId);
final sessions = ref.read(sessionsProvider);
final session = sessions.firstWhere(
@@ -347,7 +347,7 @@
final activeId = ref.read(activeSessionIdProvider);
if (sessionId != null && sessionId != activeId) {
- _storeForSession(sessionId, storedMessage);
+ await _storeForSession(sessionId, storedMessage);
_incrementUnread(sessionId);
final sessions = ref.read(sessionsProvider);
final session = sessions.firstWhere(
--
Gitblit v1.3.1