fix: Tizen config.xml - allow-navigation entfernt (CSP-Bug), v5.7.0

KRITISCHER FIX: <tizen:allow-navigation>*</tizen:allow-navigation> in
config.xml aendert die Content Security Policy und blockiert ALLE inline
<style> und <script> Bloecke. Symptom: App rendert ohne CSS/JS, nur
unstyled HTML-Elemente sichtbar.

Loesung: Tag komplett entfernt, <access origin="*" subdomains="true"/>
reicht fuer iframe/XHR-Zugriff. Warnung als Kommentar hinzugefuegt.

Tizen-App v5.7.0 mit allen v5.5/v5.6 Features:
- Debug-Panel (Gruene Taste), Remote-Logging an /api/tizen-log
- Connecting-Overlay mit Spinner und Timeout
- AVPlay Direct-Play + HLS-Fallback (Surround)
- Transparenter iframe (opacity bleibt 1 bei AVPlay)
- Media-Keys, D-Pad-Weiterleitung, Verbindungs-Reset

Android APK v1.1.0 hinzugefuegt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Eduard Wisch 2026-03-10 22:12:15 +01:00
parent 956b7b9ac8
commit dc9ee15ec3
4 changed files with 6 additions and 6 deletions

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" <widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets"
id="http://data-it-solution.de/videokonverter" version="5.5.0" viewmodes="maximized"> id="http://data-it-solution.de/videokonverter" version="5.7.0" viewmodes="maximized">
<name>VideoKonverter</name> <name>VideoKonverter</name>
<description>VideoKonverter TV-App - Serien und Filme streamen mit AVPlay Direct-Play</description> <description>VideoKonverter TV-App - Serien und Filme streamen mit AVPlay Direct-Play</description>
@ -24,8 +24,8 @@
<!-- Netzwerk-Zugriff erlauben (lokales Netz) --> <!-- Netzwerk-Zugriff erlauben (lokales Netz) -->
<access origin="*" subdomains="true"/> <access origin="*" subdomains="true"/>
<!-- Navigation zu externen URLs erlauben (fuer iframe-Content) --> <!-- KEIN tizen:allow-navigation! Das aendert die CSP und blockiert inline CSS/JS! -->
<tizen:allow-navigation>*</tizen:allow-navigation> <!-- <access origin="*"> reicht fuer iframe/XHR-Zugriff -->
<!-- TV-spezifische Einstellungen --> <!-- TV-spezifische Einstellungen -->
<tizen:setting screen-orientation="landscape" context-menu="enable" background-support="disable" <tizen:setting screen-orientation="landscape" context-menu="enable" background-support="disable"

View file

@ -103,7 +103,7 @@
<button id="connectBtn" data-focusable>Verbinden</button> <button id="connectBtn" data-focusable>Verbinden</button>
<p class="hint">Nur IP:Port eingeben (z.B. 192.168.155.12:8080).<br> <p class="hint">Nur IP:Port eingeben (z.B. 192.168.155.12:8080).<br>
http:// und /tv/ werden automatisch ergaenzt.</p> http:// und /tv/ werden automatisch ergaenzt.</p>
<p class="hint" style="margin-top:2rem;color:#555">v5.5.0 | Gruene Taste = Debug-Log</p> <p class="hint" style="margin-top:2rem;color:#555">v5.7.0 | Gruene Taste = Debug-Log</p>
</div> </div>
</div> </div>
@ -127,7 +127,7 @@
<script> <script>
/** /**
* VideoKonverter Tizen App v5.5 * VideoKonverter Tizen App v5.7
* Architektur: iframe (Server-UI) + AVPlay (Direct-Play im Parent-Frame) * Architektur: iframe (Server-UI) + AVPlay (Direct-Play im Parent-Frame)
* Kommunikation: postMessage zwischen iframe <-> Parent * Kommunikation: postMessage zwischen iframe <-> Parent
* Debug: Gruene Taste = Log-Panel, Remote-Logging an /api/tizen-log * Debug: Gruene Taste = Log-Panel, Remote-Logging an /api/tizen-log
@ -199,7 +199,7 @@
_remoteQueue.push({l: level, m: String(msg).substr(0, 2000), t: new Date().toTimeString().substr(0,8)}); _remoteQueue.push({l: level, m: String(msg).substr(0, 2000), t: new Date().toTimeString().substr(0,8)});
}; };
console.info("[TizenApp] v5.5.0 gestartet. Gruene Taste = Debug-Log. Remote-Logging aktiv."); console.info("[TizenApp] v5.7.0 gestartet. Gruene Taste = Debug-Log. Remote-Logging aktiv.");
console.info("[TizenApp] localStorage=" + JSON.stringify(localStorage)); console.info("[TizenApp] localStorage=" + JSON.stringify(localStorage));
console.info("[TizenApp] userAgent=" + navigator.userAgent); console.info("[TizenApp] userAgent=" + navigator.userAgent);