Ask Jellyfin for Movie items only, not empty folders (1.0.3) #4

Merged
joeyr merged 1 commit from fix/movies-only into main 2026-10-05 19:34:12 -05:00
Owner

Empty movie folders were reaching the email as "new movies".

Radarr keeps a folder for every film it is still waiting to download, and Jellyfin lists a folder with no video in it as a Folder item. The movie query filtered on IsMovie=true alone, which lets items with no IsMovie flag through, folders included. Adding IncludeItemTypes=Movie drops exactly those entries; it was checked against the live server before the change.

  • libraryItemsApi.go: the movie query asks for type Movie.
  • libraryItemsApi_test.go: a fake Jellyfin that filters by type only when asked, as the real one does. It fails on the old query with ["movie", "empty-folder"].
  • Removes 1.0.2's folder-name cleanup. It was built on the wrong diagnosis, because a real movie never carries the raw folder name. movies.go and series.go are back to upstream's code.
  • VERSION 1.0.3, CHANGELOG and CLAUDE.md updated.

🤖 Generated with Claude Code

Empty movie folders were reaching the email as "new movies". Radarr keeps a folder for every film it is still waiting to download, and Jellyfin lists a folder with no video in it as a **Folder** item. The movie query filtered on `IsMovie=true` alone, which lets items with no `IsMovie` flag through, folders included. Adding `IncludeItemTypes=Movie` drops exactly those entries; it was checked against the live server before the change. - `libraryItemsApi.go`: the movie query asks for type Movie. - `libraryItemsApi_test.go`: a fake Jellyfin that filters by type only when asked, as the real one does. It fails on the old query with `["movie", "empty-folder"]`. - Removes 1.0.2's folder-name cleanup. It was built on the wrong diagnosis, because a real movie never carries the raw folder name. `movies.go` and `series.go` are back to upstream's code. - VERSION 1.0.3, CHANGELOG and CLAUDE.md updated. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ask Jellyfin for Movie items only, not empty folders (1.0.3)
All checks were successful
CI / gate (pull_request) Successful in 59s
CI / lint (pull_request) Successful in 55s
CI / image (pull_request) Has been skipped
ec74cd8147
Radarr keeps a folder for every film it is still waiting to download, and
Jellyfin lists a folder with no video in it as a Folder item. The movie
query filtered on IsMovie=true alone, and Jellyfin lets items with no
IsMovie flag through that filter, folders included. So every empty folder
reached the email under its raw name, "Title (Year) [tmdbid-N]", usually
with the placeholder poster. Seen live on 2026-10-05: the 20 entries 1.0.2
cleaned up were 18 empty folders for films not downloaded yet and 2 Folder
items duplicating movies already listed. All 20 are Type "Folder" with no
children, and adding IncludeItemTypes=Movie drops exactly those 20 across
the four movie folders.

The new test fakes Jellyfin's filtering at the HTTP level and fails on the
old query with ["movie", "empty-folder"].

This also removes 1.0.2's folder-name cleanup, which was built on the
wrong diagnosis: Jellyfin strips the bracketed tags from a real movie's
name and reads the TMDB ID from the folder, so it had nothing left to do.
movies.go and series.go are back to upstream's code.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
joeyr merged commit 8d61139228 into main 2026-10-05 19:34:12 -05:00
joeyr deleted branch fix/movies-only 2026-10-05 19:34:12 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
joeyr/jellyfin-newsletter!4
No description provided.