fix(xtts): Sticky-TLS-Fallback in whisper + f5tts Bridges — gleicher Bug wie damals App/Bridge
Stefan-Bug-Report: Diagnostic zeigt seit Tagen 'XTTS-Server: Nicht verbunden (starte xtts/ auf dem Gaming-PC)' obwohl der Container laeuft. Keine TTS-Ausgabe, keine STT-Eingabe. Ursache: exakt der gleiche Sticky-TLS-Fallback-Bug den wir vor ein paar Tagen bei aria-bridge (commitb5ca3cd) und Android-App (commitad87c80) gefixt hatten — die xtts/whisper- und xtts/f5tts-Bridges sind aber separate Codebases auf der Gamebox und wurden uebersehen. Mechanik: 1. RVS hatte mal kurzen TLS-Hick (z.B. Caddy-Restart oder Port-Wechsel 443 → 444 vor Tagen) 2. Bridge versucht wss:// → fail → switch auf ws:// (use_tls = False) 3. Connect klappt jetzt nicht mehr (RVS-Port hatte sich geaendert) 4. Reconnect-Loop bleibt auf ws://, kommt NIE mehr auf wss zurueck 5. Container laeuft, RVS-Status 'nicht verbunden' Fix: nach jedem Disconnect-Sleep `use_tls = RVS_TLS` und `tls_fallback_tried = False` zuruecksetzen. Bei jedem Reconnect- Cycle wird wss neu probiert; falls das wieder failt, switcht's sauber auf ws fuer den naechsten Versuch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -292,6 +292,12 @@ async def run_loop(runner: WhisperRunner) -> None:
|
||||
continue
|
||||
await asyncio.sleep(min(retry_s, 30))
|
||||
retry_s = min(retry_s * 2, 30)
|
||||
# Sticky-Fallback verhindern: nach jedem Disconnect-Cycle wieder
|
||||
# mit wss anfangen. Sonst klebt der Client nach einem temporaeren
|
||||
# TLS-Hick auf ws:// fest und kommt nie mehr auf wss zurueck —
|
||||
# genau das Problem das die App + Bridge frueher schon hatten.
|
||||
use_tls = RVS_TLS
|
||||
tls_fallback_tried = False
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
|
||||
Reference in New Issue
Block a user