Auch Dank von Feedback aus der Streamtalk community hat das Projekt große fortschritte gemacht und ist Jetzt in einer neuen Version verfügbar.
---
## [0.5.04] - 2025-10-18
### Hinzugefügt
- **Twitch OAuth 2.0 Integration:** Implementierung des vollständigen "Authorization Code Flow" für eine automatische und sichere Authentifizierung.
- Ein neuer "Mit Twitch verbinden"-Button im "Streamer-Config"-Tab leitet den Benutzer zur Twitch-Autorisierungsseite weiter.
- Eine neue `/twitch/callback`-Route verarbeitet die Rückkehr von Twitch, tauscht den Autorisierungscode gegen einen Access- und einen Refresh-Token ein und speichert diese sicher in der `config.json`.
- Eine automatische Token-Erneuerung wurde implementiert. Der Access-Token wird nun bei Bedarf selbstständig erneuert, ohne dass ein manuelles Eingreifen erforderlich ist.
- **HTTPS für die lokale Entwicklung:** Der Webserver läuft nun standardmäßig über HTTPS (`ssl_context='adhoc'`), um die neuen Anforderungen der Twitch-API für Redirect-URIs zu erfüllen. `pyOpenSSL` wurde als neue Abhängigkeit hinzugefügt.
### Geändert
- **Zentrales Token-Management:** Die gesamte Logik zur Handhabung von Twitch-Tokens wurde in ein neues, dediziertes Skript `token_manager.py` ausgelagert. `stream_v3.py` nutzt nun ausschließlich dieses Modul, um einen gültigen Token zu erhalten.
- **Dynamische Port-Verwaltung:** Die Anwendung liest den Port nun konsistent aus der `manager_config.json`, um Port-Konflikte zu vermeiden und die Konfiguration zu vereinfachen. Der hartcodierte Fallback-Port wurde entfernt.
### Behoben
- **Twitch API Authentifizierung (`401 Unauthorized`):** Der kritische Fehler, bei dem API-Anfragen nach kurzer Zeit fehlschlugen, wurde durch die Implementierung der automatischen Token-Erneuerung behoben. Alle API-Aufrufe nutzen nun garantiert einen gültigen Token.
- **Falsche Zeitanzeige im Header:** Ein Fehler in der JavaScript-Funktion `formatTime` wurde korrigiert, der dazu führte, dass die Stunden in der Video-Laufzeitanzeige abgeschnitten wurden.
- **Fehlende `flash`-Nachrichten:** Das Problem, dass Erfolgs- oder Fehlermeldungen nicht angezeigt wurden, wurde durch das Hinzufügen des fehlenden `flash`-Message-Containers in der `index.html` behoben.
- **Defektes Layout und leere Tabs:** Diverse HTML-Strukturfehler (falsch platzierte `</form>`- und `<div>`-Tags) wurden in der `index.html` korrigiert. Das Layout wird nun wieder korrekt dargestellt und alle Tabs funktionieren wie erwartet.
- **`ModuleNotFoundError` für `token_manager`:** Ein Fehler wurde behoben, der verhinderte, dass die als separate Prozesse gestarteten Skripte (`stream_v3.py`, `twitch_bot.py`) das neue `token_manager.py`-Modul finden konnten.
- **`TypeError` in `token_manager.py`:** Ein Syntaxfehler in den `print`-Anweisungen wurde korrigiert, der zum Absturz des Skripts nach erfolgreicher Token-Speicherung führte und so die Erfolgsmeldung im UI verhinderte.
---
## [0.5.03] - 2025-10-17
### Geändert
- **Internationalisierung (i18n):** Das gesamte Projekt wurde für Mehrsprachigkeit vorbereitet.
- **Backend:** Alle für den Benutzer sichtbaren Log-Ausgaben in `stream_v3.py` und `twitch_bot.py` wurden mittels `gettext` übersetzbar gemacht.
- **Frontend:** Die gesamte `web_manager.py` und `index.html` wurden mittels `Flask-Babel` für die Übersetzung vorbereitet. Alle Texte, einschließlich `flash`-Nachrichten, `alert`-Boxen, `confirm`-Dialoge, `title`-Attribute und `placeholder`, sind nun übersetzbar.
- **Sprachauswahl:** Im "Manager-Config"-Tab wurde eine Option hinzugefügt, um die Sprache der Benutzeroberfläche dynamisch umzuschalten.
### Behoben
- Ein Jinja2 `TemplateSyntaxError` wurde behoben, der durch inkorrektes Escaping in einem `confirm()`-Dialog im "Rotations"-Tab verursacht wurde.
- Diverse HTML-Strukturfehler in der `index.html` wurden korrigiert, die zum fehlerhaften Rendern von Tabs führten.