Skip to content

Let TVDB shows check in; reload calendar after a provider move - #1923

Open
daften wants to merge 5 commits into
dannyvfilms:latestfrom
daften:fix/tvdb-checkin
Open

daften wants to merge 5 commits into
dannyvfilms:latestfrom
daften:fix/tvdb-checkin

Conversation

@daften

@daften daften commented Nov 11, 2026 •

Copy link
Copy Markdown

Fixes #1922

Changes

  • TVDB check-in (app/checkin.py): TV check-in accepts TMDB and TVDB; movies stay TMDB-only. The show's source is stored on the check-in record and sent to the Now Playing card, and pause/finish/cancel only match a record of the same source. Records without a stored source resolve as TMDB, so running check-ins survive the deploy. Callers in app/checkin_views.py, api/fork_views_detail.py and api/fork_views_playback.py pass the route/card source through.
  • Calendar after a provider move (app/services/library_migration.py): the on-commit reconcile now schedules reload_calendar(item_ids=[target]), so the moved show's seasons get release events and next episode / Check-in / upcoming work right away.

Platforms

Server-only. Web and the native apps both read Check-in state from checkin.phase / the check-in API, so no client change is needed.

  • Web: Structural (view and API tests; no browser run)
  • iOS: Structural (shared API; not run)
  • Android: Structural (shared API; not run)

Validation

  • scripts/test.sh app.tests.test_checkin app.tests.test_checkin_multiple app.tests.test_checkin_session app.tests.test_tv_provider_switch api.tests.test_fork_playback_progress app.tests.test_library_migration app.tests.test_live_playback app.tests.test_anime_library_repair: all pass
  • ruff check src: clean
  • New tests: the show check-in suite also runs against a TVDB show (CheckInTvdbShowTests), a TMDB action can't touch a TVDB check-in, and a move schedules the target's calendar reload.
  • Against a restored production backup: a TVDB show went from phase=None to idle S04E02, and start/cancel work. A TVDB→TMDB move followed by the calendar reload restores S04E02.

Risk

  • api/fork_views_playback now passes the card's source to checkin.pause/finish. The view already requires it to equal the card's state source, which for a check-in card is the record's source.

🤖 Generated with Claude Code

daften and others added 2 commits November 11, 2026 22:41
- check-in accepted only TMDB, so shows added with a TVDB TV default had no button
- carry the show's source through the record, Now Playing card and actions
- records without a stored source keep resolving as TMDB check-ins

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- the move suppresses media side effects, so new seasons had no release events
- next episode, check-in and upcoming stayed empty until a full calendar reload

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@daften

daften commented Nov 12, 2026

Copy link
Copy Markdown
Author

The red test (app, 3.12) is a single Playwright failure that looks unrelated to this change, so it most likely needs a re-run (I can't re-run jobs on this repo):

  • app.tests.test_integration.IntegrationTest.test_track_modal_overlay_is_viewport_anchored_on_long_page timed out waiting for [data-track-modal-root]:visible on a TMDB movie detail page.
  • This PR only changes TV check-in. Movie check-in behaves as before (checkin.supports("movie", "tmdb") and the movie phase() path are unchanged), and no templates or frontend files are touched.
  • Count a whole-show rewatch once only its last season is still open #1925, cut from the same latest, passed the full app suite including this test.
  • The targeted suites for the changed files (check-in, provider switch, playback, live playback, library migration; 227 tests) pass locally.

test (3.12) is the summary job and only fails because of the above.

@dannyvfilms
dannyvfilms enabled auto-merge (squash) November 14, 2026 22:21
@github-actions github-actions Bot added the auto-merge GitHub auto-merge is enabled label Nov 14, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge GitHub auto-merge is enabled

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Check-in missing for TVDB shows, and next episode lost after a TMDB/TVDB move

2 participants