From 4c7990ed5b0806b80879c875ac507b45df443ae6 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Tue, 24 Mar 2026 08:50:49 +0100
Subject: [PATCH] fix: per-session typing indicator - all typing clears check sessionId
---
lib/screens/chat_screen.dart | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/screens/chat_screen.dart b/lib/screens/chat_screen.dart
index c649f2b..0423ec9 100644
--- a/lib/screens/chat_screen.dart
+++ b/lib/screens/chat_screen.dart
@@ -223,7 +223,10 @@
ref.read(isTypingProvider.notifier).state = typing;
}
case 'typing_end':
- ref.read(isTypingProvider.notifier).state = false;
+ final endSession = msg['sessionId'] as String?;
+ if (endSession == null || endSession == ref.read(activeSessionIdProvider)) {
+ ref.read(isTypingProvider.notifier).state = false;
+ }
case 'screenshot':
ref.read(latestScreenshotProvider.notifier).state =
msg['data'] as String? ?? msg['imageBase64'] as String?;
@@ -533,7 +536,10 @@
// Only add to chat if the Screen button explicitly requested it
if (!_screenshotForChat) {
- ref.read(isTypingProvider.notifier).state = false;
+ final activeId = ref.read(activeSessionIdProvider);
+ if (sessionId == null || sessionId == activeId) {
+ ref.read(isTypingProvider.notifier).state = false;
+ }
return;
}
_screenshotForChat = false;
--
Gitblit v1.3.1