Return seasons and episodes newest-first #162

Closed
opened 2026-08-24 11:23:47 +01:00 by naps62-yolo · 1 comment
Owner

Seasons come back oldest-first, so a series detail page opens on specials and
season 1 while the current season sits furthest from the eye. Same for episodes
within a season.

What to change

Per the amended design, seasons within a series and episodes within a season
are returned newest-first. Change the ordering in the API rather than in the
SPA — it is the canonical shape and every consumer should see it.

The queries live in crates/arr-api/src/series.rs: the season list, the
episode list that hangs off it, and the per-series file listing if it orders by
season.

Done looks like

  • GET /api/series/{id}/seasons returns the highest season number first, with
    season 0 wherever descending numeric order puts it.
  • Episodes within each season are highest-number first.
  • The SPA renders the new order with no client-side sorting added.
  • crates/arr-compat still serves Jellyseerr correctly. Check whether the shim
    assumes ascending order anywhere and fix it if so.
  • Tests assert the direction.

Non-goals

  • No UI toggle between ascending and descending.
  • Movie and release ordering are untouched.

Depends on: #159

Seasons come back oldest-first, so a series detail page opens on specials and season 1 while the current season sits furthest from the eye. Same for episodes within a season. ## What to change Per the amended design, seasons within a series and episodes within a season are returned newest-first. Change the ordering in the API rather than in the SPA — it is the canonical shape and every consumer should see it. The queries live in `crates/arr-api/src/series.rs`: the season list, the episode list that hangs off it, and the per-series file listing if it orders by season. ## Done looks like - `GET /api/series/{id}/seasons` returns the highest season number first, with season 0 wherever descending numeric order puts it. - Episodes within each season are highest-number first. - The SPA renders the new order with no client-side sorting added. - `crates/arr-compat` still serves Jellyseerr correctly. Check whether the shim assumes ascending order anywhere and fix it if so. - Tests assert the direction. ## Non-goals - No UI toggle between ascending and descending. - Movie and release ordering are untouched. --- Depends on: #159
naps62-yolo added this to the Feedback pass milestone 2026-08-24 11:23:47 +01:00
naps62-yolo added the difficulty/easyarea/apitype/featurephase/6-tv labels 2026-08-24 11:23:47 +01:00
naps62-yolo added a new dependency 2026-08-24 11:23:53 +01:00
Author
Owner

Out of scope, left alone: GET /api/series/{id}/files orders by media_files.path, not by season/episode number. Path sort puts Season 01 before Season 02, so the files section still reads oldest-first and does not follow §9.6. Worth a follow-up if that listing should match the new direction.

Out of scope, left alone: `GET /api/series/{id}/files` orders by `media_files.path`, not by season/episode number. Path sort puts Season 01 before Season 02, so the files section still reads oldest-first and does not follow §9.6. Worth a follow-up if that listing should match the new direction.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: yolo/arr#162