fix(diagnostic+app): Chat-UI bubblig, mehrzeilig + persistente RVS + STT-Logs
Diagnostic-UI: - chat-msg ist jetzt eine richtige Bubble (border-radius 14px, Schatten, flex-Layout statt margin-Hack, Tail-Radius zur Sender-Seite hin). - Eingabefelder (haupt + Vollbild) jetzt textarea mit Auto-Resize. Enter sendet, Shift+Enter macht neue Zeile. - white-space: pre-wrap behaelt Zeilenumbrueche aus dem Text bei. Diagnostic-Server: - sendToRVS_raw nutzt jetzt die persistente rvsWs statt fuer jedes Send eine frische Verbindung aufzubauen. Der frische-WS-Pfad hatte Race- Probleme (WS schloss bevor RVS broadcasten konnte → User-Nachrichten von Diagnostic kamen nicht in der App an). Frische WS bleibt als Fallback wenn die persistente gerade tot ist. App: - console.log am Anfang des chat-handlers + im STT-Result-Handler mit findIndex-Result und Placeholder-Count. Bei nicht-erkanntem STT-Text liefert `adb logcat -s ReactNativeJS:V` jetzt direkt den Befund: kommt das Event ueberhaupt an, findet er die Placeholder? Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -283,6 +283,8 @@ const ChatScreen: React.FC = () => {
|
||||
|
||||
if (message.type === 'chat') {
|
||||
const sender = (message.payload.sender as string) || '';
|
||||
const dbgText = ((message.payload.text as string) || '').slice(0, 60);
|
||||
console.log('[Chat] chat-event sender=%s text=%s', sender || '(none)', dbgText);
|
||||
|
||||
// STT-Ergebnis: Transkribierten Text in die Sprach-Bubble schreiben.
|
||||
// WICHTIG: Nur die ERSTE noch unaufgeloeste Aufnahme matchen — sonst
|
||||
@@ -295,6 +297,9 @@ const ChatScreen: React.FC = () => {
|
||||
const idx = prev.findIndex(m =>
|
||||
m.sender === 'user' && m.text.includes('Spracheingabe wird verarbeitet')
|
||||
);
|
||||
console.log('[Chat] STT-Result: idx=%d text="%s" placeholders=%d',
|
||||
idx, sttText.slice(0, 60),
|
||||
prev.filter(m => m.sender === 'user' && m.text.includes('Spracheingabe wird verarbeitet')).length);
|
||||
const newText = `\uD83C\uDFA4 ${sttText}`;
|
||||
if (idx < 0) {
|
||||
// Defensiv: wenn keine Placeholder im State (z.B. weil sie nie
|
||||
|
||||
Reference in New Issue
Block a user