ad87c807de
Stefan musste seit der HTTPS-Umstellung nach jedem Hintergrund-Rueckkehr manuell auf "Verbinden" tippen, meist 3x bis es ging. Gleiche Bug-Klasse wie auf der Bridge davor (Sticky-Fallback), plus zwei App-spezifische Symptome. Drei Ursachen: 1. usingTLSFallback klebt: einmal nach onerror auf true gesetzt, blieb es bei allen folgenden Reconnects → App versuchte ws://...:443 gegen den TLS-only Caddy → HTTP 400 → endlos. Reset war NUR im manuellen connect(), nicht in onclose oder scheduleReconnect. Fix: in onclose `usingTLSFallback = false` damit der naechste Reconnect wieder primary (wss://) probiert. 2. Zombie-WebSocket: Android kann den TCP-Socket im Background still killen, der JS-State zeigt aber noch readyState === OPEN. Stefans manueller "Verbinden"-Klick rief connect() → "Bereits verbunden" No-Op statt sich neu aufzubauen. Fix: connect(force=true) optional, bestehendes WS-Objekt wird hart geschlossen (mit onclose=null gegen Doppel-Reconnect) bevor neuer Aufbau startet. 3. Keine aktive Reconnect-Sequence bei Foreground-Resume: App war abhaengig von onclose-Events die bei Zombie-WS nicht zwingend feuern. Fix: AppState-Listener in App.tsx, bei background → active automatischer rvs.connect(true). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>