fixed autoscroll, second case, update received messages, resend text for information if voice message sendet

This commit is contained in:
2026-03-29 12:09:17 +02:00
parent 8fb95b884f
commit 8c1dac86d5
16 changed files with 57 additions and 6 deletions
+24 -1
View File
@@ -96,6 +96,24 @@ const ChatScreen: React.FC = () => {
// RVS-Nachrichten abonnieren
useEffect(() => {
const unsubMessage = rvs.onMessage((message: RVSMessage) => {
// STT-Ergebnis: Spracheingabe-Placeholder mit transkribiertem Text ersetzen
if (message.type === 'stt_result') {
const sttText = (message.payload.text as string) || '';
if (sttText) {
setMessages(prev => prev.map(m =>
m.sender === 'user' && m.text.includes('Spracheingabe wird verarbeitet')
? { ...m, text: sttText }
: m
));
} else {
// Keine Sprache erkannt — Placeholder entfernen
setMessages(prev => prev.filter(m =>
!(m.sender === 'user' && m.text.includes('Spracheingabe wird verarbeitet'))
));
}
return;
}
if (message.type === 'chat') {
// Nur Nachrichten von ARIA anzeigen — eigene Nachrichten werden lokal hinzugefuegt
const sender = (message.payload.sender as string) || '';
@@ -207,9 +225,14 @@ const ChatScreen: React.FC = () => {
// Auto-Scroll bei neuen Nachrichten
useEffect(() => {
if (messages.length > 0) {
// Laengerer Delay damit FlatList fertig gerendert hat
setTimeout(() => {
flatListRef.current?.scrollToEnd({ animated: false });
}, 300);
// Nochmal animiert fuer den Fall dass sich die Hoehe geaendert hat
setTimeout(() => {
flatListRef.current?.scrollToEnd({ animated: true });
}, 100);
}, 600);
}
}, [messages]);