* New audio_lang / subtitle_lang fields in config (file, CLI flags, env
vars). Forwarded to mpv's alang/slang as a comma-separated ISO 639
priority list, e.g. "jpn,eng".
* New Settings screen (press `s` in the main view) for editing server,
user, password, and language preferences without leaving the app.
Credential changes trigger re-authentication against the new endpoint;
on success the libraries/resume list is refreshed. Everything is
persisted back to the config file the app loaded from.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Pushed the selected index onto a stack on every drill-down (library →
series → season → episode) and pop it on back so the cursor lands on
the row the user just opened, instead of snapping to row 0. Clamps the
restored index to the current list length to survive a shrunk list.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
A ratatui-based terminal browser for an Emby server with mpv as the player
backend. Authenticates via /Users/AuthenticateByName, lists libraries and
items, streams via /Videos/{id}/stream, and reports playback progress so
"Continue Watching" stays in sync across clients.
Credentials are read in priority order: CLI flags, env vars
(EMBY_SERVER/EMBY_USER/EMBY_PASSWORD), ./config.toml or
$XDG_CONFIG_HOME/emby-client/config.toml, then an in-TUI login prompt with
an option to persist to config.toml.
Modules: config (CLI + TOML loader), login (TUI prompt), emby (HTTP client
+ progress Reporter), player (libmpv2 wrapper, blocks until file ends),
app (browse state, Continue Watching virtual entry), ui (ratatui frontend).
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>