Release v0.2.37

This commit is contained in:
ponzischeme89
2026-08-09 13:10:55 +12:00
parent 574826dc03
commit 0dffd59440
10 changed files with 411 additions and 145 deletions
+11 -7
View File
@@ -510,13 +510,17 @@ at a time. Things to preserve:
focused.
- **Episodes are excluded on both paths.** An episode inherits its series' genres, so
including them fills a page with twenty entries of one comedy and buries the rest.
- **Movies and TV Series have their own full-width genre browser.** The Genres launcher is
the first focus target on both destinations and `ui/genre/` reuses the same paged
repository call in a poster grid. Its `type=Movie` / `type=Series` query is enforced by
the gateway and on the direct Emby path, so opening Drama from Movies can never mix a
television series into the grid (and vice versa). The picker derives its catalogue from
the unfiltered server rows as well as the visible destination rows: hiding a home shelf
must not make that genre disappear from Browse.
- **Movies and TV Series have their own full-width genre browser.** A fixed row of colourful
mini cards is the first focus target on both destinations; it is deliberately a product
catalogue rather than whatever genre names happened to arrive in the home rows, so its
order and availability never jump around during refresh. Neighbouring Emby labels are
merged where they answer the same browsing intent (`Action|Adventure`,
`Science Fiction|Sci-Fi|Sci Fi|Fantasy`, `War|History`) using Emby's pipe-delimited genre
filter. `ui/genre/` keeps the resulting pages in memory, preserves the active category
behind a detail page, returns focus to the title that was opened, and consumes
`HomeViewModel.favoriteChanges` so a Favourite press and its possible rollback reach the
paged copy immediately. Its `type=Movie` / `type=Series` query is still enforced by the
gateway and on the direct Emby path, so no category can mix the two grids.
- **The gateway path degrades to a keyword search on the *first* page only**, so a set on a
new build talking to a gateway that predates the route still shows something. A later page
does not: a gateway that answered page one and failed on page two is having trouble, not