Android TV client for Emby (Kotlin, Compose for TV) and the Memby gateway (Go, Postgres, Redis) that fronts it. Client: - Setup, profiles, home rows, Media3 playback, system screensaver (Dream) - Backend chosen at build time: gateway when memby.gatewayUrl is set, otherwise direct to Emby. Both paths stay working. - Server-composed home rows, rendered verbatim so new row types ship without an app release - Full-screen animated maintenance state, row engagement telemetry Gateway: - One request per TV screen; auth, caching, search and row shaping - Library import from Emby into Postgres (manual, then hourly incremental) - Recommendations from viewing history (recency-weighted genre affinity) - Admin page for imports, an offline switch, and per-row analytics - Video always direct-plays from Emby; only metadata passes through Identity is com.ponzischeme89.memby throughout, replacing com.mattcohen.embyclientsname. A changed applicationId installs as a new app: TVs need a fresh sign-in and the old package uninstalled. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
17 lines
423 B
Plaintext
17 lines
423 B
Plaintext
# Normalise to LF in the repository. Without this, committing from Windows stores CRLF
|
|
# and `gradlew` and the Go sources break when checked out on Linux or built in Docker.
|
|
* text=auto eol=lf
|
|
|
|
# Windows-only scripts keep CRLF in the working tree.
|
|
*.bat text eol=crlf
|
|
*.cmd text eol=crlf
|
|
*.ps1 text eol=crlf
|
|
|
|
# Must stay LF: executed by a shell.
|
|
gradlew text eol=lf
|
|
*.sh text eol=lf
|
|
|
|
*.png binary
|
|
*.jar binary
|
|
*.apk binary
|