Debug-Modus

Der Debug-Modus ist ein geratebasierter Diagnose-Overlay fur Operatoren, die einen Remote-Viewer oder Samsung-TV-Kiosk ohne Zugang zu Browser-Devtools beheben mussen. Er zeigt den Live-Transportstatus, Verbindungsinformationen, Build-Identitat, Service-Worker-Status und einen rollierenden 200-Eintrags-Konsolenprotokoll-Puffer.

So aktivieren Sie den Debug-Modus

  1. Fugen Sie ?debug=1 an eine beliebige Raum-URL an (z.B. /r/ihre-raum-id/viewer?debug=1).
  2. Am oberen Seitenrand erscheint ein roter Warnbanner. Klicken Sie auf Ich verstehe, um den Sicherheitshinweis zu bestatigen.
  3. Der Overlay erscheint in der unteren rechten Ecke und bleibt dort, bis der Tab geschlossen oder ?debug=1 aus der URL entfernt wird.
Tab-bezogener Geltungsbereich: Die Bestatigung gilt pro Browser-Tab. Das Offnen der gleichen URL in einem neuen Tab zeigt den Warnbanner erneut. Dies ist beabsichtigt — es schiitzt publikumsseitige TVs vor versehentlicher Aktivierung, wenn eine URL wiederverwendet wird.

Was Sie sehen

Der Overlay enthalt funf Panels:

  • Transport — aktueller Timer-Status (gestoppt / laufend / pausiert), aktive Timer-ID und Ankerfelder zur Diagnose von Abweichungen zwischen Geraten.
  • Verbindung — Gesamtzahl der verbundenen Gerate, Ihre eigene Verbindungs-ID und Ihren Verbindungstyp sowie die vollstandige Liste der verbundenen Gerate im Raum.
  • Build — Git-SHA, Build-Zeitstempel und App-Version. Damit bestatigen Sie, dass ein Remote-TV nach einem Deploy das erwartete Bundle ausfuhrt.
  • Service Worker — ob ein neues Bundle auf die Aktivierung wartet. Nutzlich um zu prufen, ob ein TV das neueste Update erhalten hat.
  • Konsole — die letzten 200 console.log-, console.warn-, console.error-Eintrager, nicht abgefangene Fehler und unbehandelte Promise-Ablehnungen. Wird einmal pro Sekunde aktualisiert. Neueste Eintrage erscheinen oben.

Sicherheitshinweis

Warnung: Debug-Inhalte konnen interne Bezeichner wie Firebase-Projekt-IDs, Verbindungs-IDs und UIDs enthalten. Teilen Sie KEINE Screenshots einer aktiven Debug-Sitzung offentlich, nehmen Sie diese nicht auf und ubertragen Sie den Bildschirm nicht. Schliessen Sie den Tab, wenn Sie fertig sind — damit wird die Bestatigung geloscht.

Debug-Bericht senden

Unterhalb des Konsolen-Panels finden Sie eine Schaltflache Debug-Bericht senden. Ein Klick darauf erfasst eine einzelne Momentaufnahme aller im Overlay angezeigten Daten — Transportstatus, Verbindungsinformationen, Build-Identitat, Service-Worker-Status und die letzten 200 Konsoleneintrage — und schreibt sie in eine raumbezogene Firestore-Subcollection unter rooms/{roomId}/debugReports/{id}. Der Raum-Eigentumer oder ein Administrator kann den Bericht spater uber die Firebase-Konsole zur nachtraglichen Analyse lesen.

Nach erfolgreichem Upload zeigt die Schaltflache drei Sekunden lang Gesendet ✓ an und wechselt dann in einen 30-Sekunden-Cooldown, damit versehentliche Doppelklicks die Subcollection nicht fluten konnen. Die Schaltflachen-Beschriftung zahlt herunter ("Send (24s)"), bis sie wieder freigegeben wird.

Zugriff: Nur der Raum-Eigentumer oder ein Tenant-Administrator kann hochgeladene Berichte lesen. Einfache Raum-Mitglieder und Viewer haben keinen Lesezugriff. Berichte laufen nach 30 Tagen automatisch ab (Firestore TTL) — keine manuelle Bereinigung erforderlich.

Was der Debug-Modus NICHT tut

  • Der Debug-Modus ladt nicht automatisch Daten hoch. Das Konsolen-Panel schreibt nur dann nach Firestore, wenn Sie explizit Debug-Bericht senden klicken.
  • Der Debug-Modus andert nicht das Timer-Verhalten, publikumsseitige Ausgaben oder andere Live-Firestore-Dokumente. Das Overlay ist schreibgeschutzt; die Senden-Schaltflache schreibt genau ein Diagnose-Dokument pro Klick.
  • Der Debug-Modus wird nicht zwischen Tabs oder Seitenladevorgangen gespeichert. Jeder neue Tab beginnt neu und erfordert eine erneute Bestatigung.