0cf22204d3d2f4c31afecf83f65a03add40e2c86
- Compose for TV scaffold: D-pad app shell (Live/Einstellungen), channel list with focus handling, fullscreen player with auto-hiding overlay; zapping via channel/D-pad keys (closes #2) - Generic source end-to-end: M3U + XMLTV configurable on the TV, Now/Next with progress in the list, channel cache (closes #3) - OIDC device-flow login: server URL is the only input, issuer/client id come from the fork's status endpoint; QR + user code screen, silent refresh, logout (closes #4) - Dispatcharr source via Bearer API: channels, groups, EPG grid; switchable against the generic source (closes #5) - Per-user favorites: star via long-press, favorites filter, backend-synced (closes #6) - Stream profile selection (Standard/Passthrough/audiofix/720p from the backend profile list), applied per stream URL (closes #7) - Phone remote: Now/Next lines, favorites star + filter over the WebSocket protocol (closes #8) Device verification pending (TV currently in use). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Castarr
Native Google TV client for a Dispatcharr backend: live IPTV with a full D-pad UI, login via OIDC device flow (Authentik), per-user favorites, and an optional phone remote paired by QR code (served by the TV itself, no phone app install).
Status: bootstrap. The code base was imported from the NodeCast prototype (phone-remote-first, M3U standalone) and is being reshaped per the decisions in CONTEXT.md and docs/adr/ — see the issue tracker for the phase-1 slices.
Building
Requires JDK 17+ and the Android SDK (platform 35).
./gradlew assembleDebug
APK output: app/build/outputs/apk/debug/app-debug.apk.
Description
Native Google TV IPTV client for Dispatcharr — phone-first onboarding, QR remote, OIDC device flow