Debug-Modus

Der Debug-Modus ist ein gerätebasiertes Diagnose-Overlay für Operatoren, die Probleme an einem Remote-Viewer oder Samsung-TV-Kiosk ohne Zugang zu Browser-Devtools beheben müssen. Es zeigt den Live-Transportstatus, Verbindungsinformationen, Build-Identität, Service-Worker-Status und die letzten 200 Konsoleneinträge.

So aktivieren Sie den Debug-Modus

  1. Fügen 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 I understand, um den Sicherheitshinweis zu bestätigen.
  3. Das Overlay erscheint unten rechts — über seinen Griff lässt es sich verschieben — und bleibt, bis der Tab geschlossen oder ?debug=1 aus der URL entfernt wird.
Tab-bezogener Geltungsbereich: Die Bestätigung gilt pro Browser-Tab. Das Öffnen derselben URL in einem neuen Tab zeigt den Warnbanner erneut. Das ist beabsichtigt — es schützt publikumsseitige TVs vor versehentlicher Aktivierung, wenn eine URL wiederverwendet wird.

Was Sie sehen

Das Overlay enthält sechs Panels:

  • Transport — aktueller Timer-Status (gestoppt / laufend / pausiert), aktive Timer-ID und Ankerfelder zur Diagnose von Abweichungen zwischen Geräten.
  • Connection — Gesamtzahl der verbundenen Geräte, Ihre eigene Verbindungs-ID und Ihren Verbindungstyp sowie die vollständige Liste der verbundenen Geräte im Raum.
  • Build — Git-SHA, Build-Zeitstempel und App-Version. Damit prüfen Sie, ob ein Remote-TV nach einem Deploy das erwartete Bundle ausführt.
  • Service Worker — ob ein neues Bundle auf die Aktivierung wartet. Nützlich, um zu prüfen, ob ein TV das neueste Update erhalten hat.
  • Drift — die verbleibende Abweichung am Ende einer Kette verknüpfter Timer und eine Liste der automatischen Übergänge mit ihrer Zeitabweichung (gelb bei mehr als ±50 ms).
  • Console — die letzten 200 console.log-, console.warn- und console.error-Einträge, nicht abgefangene Fehler und unbehandelte Promise-Ablehnungen. Wird einmal pro Sekunde aktualisiert. Die neuesten Einträge stehen oben.

Sicherheitshinweis

Warnung: Debug-Inhalte können interne Bezeichner wie Firebase-Projekt-IDs, Verbindungs-IDs und UIDs enthalten. Teilen Sie KEINE Screenshots einer aktiven Debug-Sitzung öffentlich, nehmen Sie diese nicht auf und übertragen Sie den Bildschirm nicht. Schließen Sie den Tab, wenn Sie fertig sind — damit wird die Bestätigung gelöscht.

Send Debug Report

Unterhalb des Console-Panels finden Sie die Schaltfläche Send Debug Report. Ein Klick darauf erfasst eine einzelne Momentaufnahme aller im Overlay angezeigten Daten — Transportstatus, Verbindungsinformationen, Build-Identität, Service-Worker-Status und die letzten 200 Konsoleneinträge — und speichert sie beim Raum für den StageTick-Support. Jede Konsolenzeile im Bericht ist auf 1.000 Zeichen begrenzt (längere enden mit …[truncated]).

Zum Hochladen muss das Gerät mit einem Konto angemeldet sein, das zur Organisation des Raums gehört. Bildschirme, die einen Ausgabe-Link ohne Anmeldung geöffnet haben, nutzen eine anonyme Sitzung und können nicht hochladen — die Schaltfläche zeigt dann Failed — retry. Wenn Sie StageTick wegen eines Problems kontaktieren (hallo@simmrohs.de), nennen Sie den Raum und den Zeitpunkt, zu dem Sie den Bericht gesendet haben.

Nach erfolgreichem Upload zeigt die Schaltfläche drei Sekunden lang Sent ✓ an und wechselt dann in einen 30-Sekunden-Cooldown, damit versehentliche Doppelklicks die Subcollection nicht fluten können. Die Beschriftung zählt herunter ("Send (24s)"), bis die Schaltfläche wieder freigegeben wird.

Zugriff: In der App gibt es keine Ansicht für Berichte; sie sind für den StageTick-Support gedacht. Berichte lassen sich nach dem Hochladen nicht ändern und werden nach 30 Tagen automatisch gelöscht.

Was der Debug-Modus NICHT tut

  • Der Debug-Modus lädt nicht automatisch Daten hoch. Das Console-Panel schreibt nur dann nach Firestore, wenn Sie ausdrücklich auf Send Debug Report klicken.
  • Der Debug-Modus ändert nicht das Timer-Verhalten, publikumsseitige Ausgaben oder andere Live-Firestore-Dokumente. Das Overlay ist schreibgeschützt; die Schaltfläche Send Debug Report schreibt genau ein Diagnose-Dokument pro Klick.
  • Der Debug-Modus wird nicht auf andere Tabs übertragen. Die Bestätigung gilt für diesen Browser-Tab und übersteht ein Neuladen; jeder neue Tab fragt erneut.