Matthias Nott
2026-03-24 4c7990ed5b0806b80879c875ac507b45df443ae6
fix: per-session typing indicator - all typing clears check sessionId
1 files modified
changed files
lib/screens/chat_screen.dart patch | view | blame | history
lib/screens/chat_screen.dart
....@@ -223,7 +223,10 @@
223223 ref.read(isTypingProvider.notifier).state = typing;
224224 }
225225 case 'typing_end':
226
- ref.read(isTypingProvider.notifier).state = false;
226
+ final endSession = msg['sessionId'] as String?;
227
+ if (endSession == null || endSession == ref.read(activeSessionIdProvider)) {
228
+ ref.read(isTypingProvider.notifier).state = false;
229
+ }
227230 case 'screenshot':
228231 ref.read(latestScreenshotProvider.notifier).state =
229232 msg['data'] as String? ?? msg['imageBase64'] as String?;
....@@ -533,7 +536,10 @@
533536
534537 // Only add to chat if the Screen button explicitly requested it
535538 if (!_screenshotForChat) {
536
- ref.read(isTypingProvider.notifier).state = false;
539
+ final activeId = ref.read(activeSessionIdProvider);
540
+ if (sessionId == null || sessionId == activeId) {
541
+ ref.read(isTypingProvider.notifier).state = false;
542
+ }
537543 return;
538544 }
539545 _screenshotForChat = false;