Skip to content

Scrob Progress ignores shows hidden from Next Up #594

Description

@srow90

Summary

Shows hidden from Next Up in Scrob still appear in Umbrella's Progress view.

Reproduction

  1. Connect Umbrella to Scrob.
  2. Watch part of a TV series so it appears in Next Up/Progress.
  3. Hide that show from Next Up in the server UI.
  4. Confirm the server's canonical GET /history/next-up response no longer includes it.
  5. Open Umbrella's Progress view.

Expected: the hidden show is absent.

Actual: Umbrella still reconstructs and displays its next episode.

Cause

The Scrob client already has scrob.get_next_up(), which calls the canonical /history/next-up endpoint. That endpoint owns the per-user hidden-show preference and excludes hidden shows by default.

However, episodes.py::scrob_progress_list() rebuilds Next Up from scrobsync.get_watched_episodes() instead. That data originates from raw /history?type=episode, which intentionally contains watch history and has no view-only Next Up hide semantics.

Relevant source:

Filtering /history server-side is not safe because Umbrella also uses it for watched indicators.

Suggested change

  • For normal Scrob Progress, use scrob.get_next_up() as the authoritative show/season/episode position.
  • Continue enriching the returned identifiers with Umbrella's existing TMDB metadata path before episodeDirectory().
  • Keep raw history sync only for watched/unwatched indicators.
  • For upcoming=True, support /history/next-up?include_unaired=true when the connected server offers it, with a graceful fallback for older servers.

The canonical response already supplies show_tmdb_id, show_tvdb_id, show_title, season_number, episode_number, and last_watched_at, so it contains the position identifiers needed by the existing renderer.

The duplicated Umbrella package trees (matrix, nexus, omega, and piers) appear to share this same implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions