Search previously mixed audiobooks into movie/series results with no way to
separate them beyond single-type filters.
Backend: accept a new "video" group media scope (movies + series) anywhere a
media_scope is valid, expanded centrally via MediaScopeItemTypes into the
search item-type list, browse comma-list Type filter, and a type = ANY(...)
condition in the query executor. Register a user-scoped search.media_scope
setting (all|video|audiobook, default video).
Frontend: Media / Audiobooks / All chips on the search results page that
filter results and persist the choice as the user's default; the global
search typeahead follows the same preference. An explicit URL ?type= always
wins (with type=all as an unscoped sentinel), and the filter-bar dropdown
gains a Movies & Series option.
The API surface is additive, so Android/Apple clients are unaffected until
they adopt the new scope.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>