feat: Bug-Runde + 5 App/Diagnostic-Features
Bugs: - App Mute-/Auto-Playback: onMessage-Closure hielt stale ttsDeviceEnabled/ ttsMuted → Mute wurde ignoriert + AsyncStorage-Load kam nicht durch. Fix via ttsCanPlayRef (live gespiegelt) statt Closure-Variablen. - App Zombie-Recording: toggleWakeWord hat die laufende Aufnahme nicht gestoppt → audioService.recordingState blieb 'recording' → normaler Aufnahme-Button wirkungslos. Fix: await stopRecording() vor stop(). - Porcupine robuster: BuiltInKeywords-Enum Mapping mit String-Fallback, errorCallback fuer Runtime-Crashes (state zurueck auf off statt App-Crash), mehr Logging damit man beim naechsten Issue debuggen kann. App-Features: - MessageText Komponente: Text ist durchgehend selektierbar, erkennt URLs (http/https), E-Mails, Telefonnummern und macht sie anklickbar (oeffnet Browser / Mail-App / Android-Dialer via Linking). - TTS-Wiedergabegeschwindigkeit pro Geraet einstellbar (Settings -> "Sprechgeschwindigkeit", 0.5-2.0 in 0.1-Schritten, Default 1.0). Wird als speed-Param an die F5-TTS-Bridge durchgereicht. Bridge-Durchreichen: - ChatScreen: speed aus AsyncStorage via ttsSpeedRef, an chat/audio/ tts_request mitgeschickt - aria-bridge: _next_speed_override wie voice_override, an xtts_request weitergereicht - f5tts-bridge: speed-Param an F5TTS.infer() durchgereicht Diagnostic-Feature: - Voice-Preview-Button (Play-Icon) vor dem Delete-X in der Stimmen-Liste - Modal mit Textfeld (Default-Beispieltext wird bei jedem Oeffnen neu gesetzt) und Play-Button - Server sammelt audio_pcm Frames der Preview-Anfrage, baut WAV, schickt base64 zurueck, Browser spielt im <audio>-Tag ab - 60s Timeout-Safety-Net Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -75,16 +75,31 @@
|
||||
|
||||
### Bugs
|
||||
- [ ] NO_REPLY wird als "NO" im Chat angezeigt — sollte still verworfen werden (Token nicht gesaeubert)
|
||||
- [ ] App: Auto-Playback der ARIA-Antwort greift nicht immer nach Erhalt — Play-Button funktioniert aber manuell
|
||||
- [ ] App: Deaktivierter Mund-Button (Mute) — trotzdem kommt manchmal Sprachausgabe durch
|
||||
- [ ] App: Wake-Word "jarvis" triggert nicht (Porcupine-Build mit Jarvis-Keyword haekelt)
|
||||
- [ ] App: Nach Deaktivieren vom Ohr-Button funktioniert der Aufnahme-Button nicht mehr
|
||||
- [ ] App: Stuerzt beim Lauschen ab, eventuell bei Nebengeraeuschen (Porcupine-Segfault-Verdacht)
|
||||
|
||||
### App Features
|
||||
- [ ] Wake Word on-device (Porcupine "ARIA" Keyword, Phase 2 — passives Lauschen)
|
||||
- [ ] Chat-History zuverlaessiger laden (AsyncStorage Race Condition)
|
||||
- [ ] Background Audio Service (TTS auch bei minimierter App)
|
||||
- [ ] Text-Auswahl in Chat-Nachrichten (Kopieren von ARIA-Antworten)
|
||||
- [ ] Autolink: Telefonnummern → Telefon-Icon → Android-Dialer
|
||||
- [ ] Autolink: HTTP(S)-URLs → anklickbar, oeffnet im Browser
|
||||
- [ ] Autolink: E-Mail-Adressen → anklickbar, oeffnet Mail-App
|
||||
- [ ] TTS-Wiedergabegeschwindigkeit pro Geraet einstellbar (0.1-Schritte, Default 1.0)
|
||||
|
||||
### Diagnostic Features
|
||||
- [ ] Voice-Preview-Button in der Stimmen-Liste (Play-Icon vor dem Loeschen-X):
|
||||
oeffnet Modal mit Textfeld (Default-Beispieltext wird jedesmal neu gesetzt)
|
||||
und Play-Button → Stimme rendert den Text und spielt im Browser ab
|
||||
|
||||
### TTS / Audio
|
||||
- [ ] Audio-Normalisierung (Lautstaerke zwischen Saetzen/Chunks angleichen)
|
||||
- [ ] F5-TTS: Streaming-Inferenz testen (nativ statt satzweise) wenn ein passendes Backend kommt
|
||||
- [ ] F5-TTS: Optional Deepspeed-Beschleunigung pruefen
|
||||
- [ ] F5-TTS: BigVGAN-Vocoder-Support in Bridge (aktuell nur Vocos)
|
||||
|
||||
### Architektur
|
||||
- [ ] Bilder: Claude Vision direkt nutzen (aktuell nur Dateipfad an ARIA)
|
||||
|
||||
Reference in New Issue
Block a user