Compare commits

..

3 Commits

Author SHA1 Message Date
duffyduck fa0667088a release: bump version to 0.0.7.4 2026-05-06 20:30:37 +02:00
duffyduck f55329706e debug(stt): Toasts in App + Bridge-Log fuer STT-Broadcast-Erfolg
Da kein adb-Zugriff: visuelle Debug-Pfade direkt in der App + im
Diagnostic-Bridge-Tab.

App: zwei Toasts beim Empfang eines stt-events
- "STT empfangen: ..." sobald das chat-event mit sender=stt reinkommt
- "Bubble #X ersetzt" oder "keine Placeholder → neue Bubble"

Bridge: explizites Info-Log "STT-Text an RVS broadcastet (sender=stt)"
nach erfolgreichem _send_to_rvs, "NICHT broadcastet" wenn die Methode
False lieferte (Ping fehlgeschlagen / Verbindung tot).

Naechster Test:
- Sprachnachricht aufnehmen
- Toast erscheint? → STT-Event kommt in App an, Bug ist im findIndex
- Toast erscheint nicht? → Diagnostic Bridge-Tab pruefen ob das Log
  "STT-Text an RVS broadcastet" steht

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 20:29:26 +02:00
duffyduck 6c7fd1d0e3 release: bump version to 0.0.7.3 2026-05-06 20:12:01 +02:00
4 changed files with 23 additions and 6 deletions
+2 -2
View File
@@ -79,8 +79,8 @@ android {
applicationId "com.ariacockpit"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 702
versionName "0.0.7.2"
versionCode 704
versionName "0.0.7.4"
// Fallback fuer Libraries mit Product Flavors
missingDimensionStrategy 'react-native-camera', 'general'
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "aria-cockpit",
"version": "0.0.7.2",
"version": "0.0.7.4",
"private": true,
"scripts": {
"android": "react-native run-android",
+15 -2
View File
@@ -292,14 +292,27 @@ const ChatScreen: React.FC = () => {
// den gleichen Text bekommen (Bug: zweite Antwort ueberschreibt erste).
if (sender === 'stt') {
const sttText = (message.payload.text as string) || '';
// Debug-Toast: visualisiert dass das STT-Event in der App angekommen ist.
// Wenn dieser Toast NICHT erscheint, kommt das Event nicht durch (Bridge
// oder RVS broadcastet es nicht), und der Bug liegt server-side.
ToastAndroid.show(`STT empfangen: "${sttText.slice(0, 40)}"`, ToastAndroid.SHORT);
if (sttText) {
setMessages(prev => {
const idx = prev.findIndex(m =>
m.sender === 'user' && m.text.includes('Spracheingabe wird verarbeitet')
);
const placeholderCount = prev.filter(m =>
m.sender === 'user' && m.text.includes('Spracheingabe wird verarbeitet')
).length;
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);
idx, sttText.slice(0, 60), placeholderCount);
// Zweiter Toast: zeigt ob die Placeholder gefunden wurde.
ToastAndroid.show(
idx < 0
? `STT: keine Placeholder (${placeholderCount}) \u2192 neue Bubble`
: `STT: Bubble #${idx} ersetzt`,
ToastAndroid.SHORT,
);
const newText = `\uD83C\uDFA4 ${sttText}`;
if (idx < 0) {
// Defensiv: wenn keine Placeholder im State (z.B. weil sie nie
+5 -1
View File
@@ -1576,7 +1576,7 @@ class ARIABridge:
# STT-Text an RVS senden (fuer Anzeige in App + Diagnostic)
# sender="stt" damit Bridge es ignoriert (kein Loop)
try:
await self._send_to_rvs({
ok = await self._send_to_rvs({
"type": "chat",
"payload": {
"text": text,
@@ -1584,6 +1584,10 @@ class ARIABridge:
},
"timestamp": int(asyncio.get_event_loop().time() * 1000),
})
if ok:
logger.info("[rvs] STT-Text an RVS broadcastet (sender=stt)")
else:
logger.warning("[rvs] STT-Text NICHT broadcastet — _send_to_rvs lieferte False")
except Exception as e:
logger.warning("[rvs] STT-Text konnte nicht an RVS gesendet werden: %s", e)
else: