#!/bin/bash

# Kanal einlesen
CHANNEL="$(</home/snowtv/bin/channel.txt)"

# CDP-Watchdog (cdp_check.py, aufgerufen aus 304.sh): Remote-Debugging-Port
# wird NUR geoeffnet, wenn CDF=on explizit in mc.cfg gesetzt ist (Default:
# Feld fehlt -> aus). Hintergrund: der Port wurde am 12.03.2026 schon einmal
# flottenweit aktiviert und am 16.03.2026 wieder bewusst entfernt
# ("Remote-Debugging-Port wird bewusst nicht verwendet (Sicherheit)", siehe
# CONTEXT.md/player_doku_techie.md) - das Opt-in-Flag stellt sicher, dass
# Feldgeraete ohne explizite Konfiguration nie einen offenen Debug-Port
# bekommen. Nur an 127.0.0.1 gebunden, nie exponiert.
CDF="$( grep '^CDF=' </home/snowtv/bin/mc.cfg | cut -d= -f2 | tr -d '\r' )"
CDP_FLAGS=()
if [ "$CDF" == "on" ]; then
	CDP_FLAGS=(--remote-debugging-port=9222 --remote-debugging-address=127.0.0.1 --remote-allow-origins=http://127.0.0.1:9222)
fi

# Chromium Browser starten

rm -rf /home/snowtv/.config/chromium/Singleton*

# mc.cfg validieren – Chromium nur starten wenn Konfiguration valide
if [ "$(/home/snowtv/bin/ckmccfg.sh)" != "1" ]; then
	echo "$(date)  ERROR: mc.cfg ungültig – Chromium nicht gestartet" | tee -a /var/log/stv.log
	DISPLAY=:0.0 feh -F /home/snowtv/Bilder/netfailure.png &
	exit 1
fi

# Setze die Umgebungsvariable für die Anzeige
export DISPLAY=:0.0

export XDG_RUNTIME_DIR="/run/user/1000"

# Setze die Umgebungsvariable für PulseAudio
#export PULSE_SERVER=unix:/run/user/$(id -u)/pulse/socket

# Zoom-Level für infosnow.ch zurücksetzen (verhindert briefmarken-kleinen Browser
# nach GPU-Crash oder versehentlichem Ctrl+- via VNC)
python3 -c "
import json, os
p = os.path.expanduser('~/.config/chromium/Default/Preferences')
try:
    d = json.load(open(p))
    d.get('partition',{}).get('per_host_zoom_levels',{}).get('x',{}).pop('infosnow.ch', None)
    json.dump(d, open(p,'w'))
except Exception: pass
" 2>/dev/null

setsid chromium --profile-directory="Default" \
	--disk-cache-size=524288000 \
	--media-cache-size=1073741824 \
	--use-angle=default \
	--no-sandbox \
	--disable-gpu-sandbox \
	--disable-translate \
	--disable-infobars \
	--no-first-run \
	--disable-suggestions-service \
	--disable-save-password-bubble \
	--autoplay-policy=no-user-gesture-required \
	--start-maximized \
	--noerrdialogs \
	--enable-auto-reload \
	--enable-offline-auto-reload \
	--enable-offline-auto-reload-visible-only \
	--disable-background-networking \
	--dns-prefetch-disable \
	--aggressive-cache-discard \
	--password-store=basic \
	"${CDP_FLAGS[@]}" \
	--kiosk "$CHANNEL" &

echo "$CHANNEL" > /tmp/channel.txt
sleep 1

exit 0
