Skip to content

Same-title movies (remakes) and collections still match the wrong item; I have a fix you're welcome to use #40

Description

@Fatman032

What happened?

Thanks for the quick fix in v0.8.1. {movie: ...} / {show: ...} solved my Wonder Woman problem.

You mentioned that two movies with the same title (remakes) aren't covered yet and to open a new issue if I hit that. I hit it a lot, and I found a few related problems while checking my library.

What I found on my library (Plex + Tunarr, about 12 channels)

  • Remakes: 40 plain titles across 12 channels matched more than one item (Aladdin 1992 / 2019, Superman 1978 / 2025, Hellboy 2004 / 2019, TMNT 1990 / 2014, and others). A plain title just picks one.
  • Collections: {collection: 3 Stars and Up} has 496 members. On v0.8.1 it resolved 495 movies and 1 TV show, so a movie in the collection still turned into a same-titled TV show. Matching by Plex id fixed it: 496 of 496 movies.
  • Other Videos libraries: 35 home videos couldn't be found at all before. They can now.
  • Silent drops: an item whose title in the library differs slightly ("The Secret World of Arrietty" is "Arrietty" in Plex) was dropped from the channel with no message.

What I built

  • Every Tunarr library (including Other Videos) is indexed by unique id, never merged by title.
  • Saved channel entries can carry the item's ids, for example {"movie": "Aladdin", "year": 2019, "ids": {"tmdb": "...", "plex": "...", "tunarr": "..."}}. TMDB is tried first, then Plex, then Tunarr. Code that only reads the kind and title still works.
  • On your ratingKey concern: the ids are backups. If one goes stale, the entry is found through another id and updated. It never guesses, and one missing item never drops its neighbours.
  • The Add box in the Channels editor pins the exact item, and asks when several match.
  • The editor flags plain titles that match more than one item, with [year] [year] [Both] buttons.
  • Skipped items are shown after Apply and on the channel list, with the reason.
  • Collections are matched by Plex id instead of bare title.

It has been running on my real library, and the ambiguous titles are down from 40 to 0. It comes with 478 passing tests (about 1,200 new lines are tests). The change is about 2,100 lines across 15 files.

Being upfront: I built this with Claude (an AI assistant), and I ran and checked it on my own setup. If that's a problem for the project, I understand.

You're welcome to take any of it, whole or in part, however you like. No credit needed. I'll add a link to the code in a comment below. If you'd rather have it as a PR (or split into smaller pieces), just say so.

Steps to reproduce

Tested on v0.8.1 with Plex + Tunarr.

Remakes (two movies, same title):

  1. In Plex, have two movies with the same title, e.g. Aladdin (1992) and Aladdin (2019). Both are in a Tunarr library.
  2. In Programmarr, create a channel and add a plain Aladdin to it. ({movie: Aladdin} can't help, because it can't say which year.)
  3. Click Save and Apply.
  4. Open the channel in Tunarr.

Expected: both Aladdins, or a way to choose one.
Actual: only one Aladdin is used, with no message and no way to pick.

Collections:

  1. In Plex, have a collection that contains a movie whose title is also a TV show (e.g., the Wonder Woman movie and the 1975 Wonder Woman show).
  2. In Programmarr, add {collection: <that collection>} to a channel.
  3. Click Save and Apply.

Expected: the movie from the collection.
Actual (on my library): the movie was replaced by the same-titled TV show. The collection has about 500 movies, and v0.8.1 matched one of them to a show.

I saw this on my own library and haven't tried it on a clean test setup.

Programmarr version

v0.8.1

Tunarr version

1.3.14

What is your Tunarr media source?

Plex

How are you running Programmarr?

Docker (docker compose)

Relevant log output

Before submitting

  • I've confirmed Tunarr itself is reachable and working
  • I've removed my Plex token and any private URLs from the logs above

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageMaintainer needs to evaluate this issue

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions