Skip to content

Fix content rating filter for titles without US classifications #537

Description

@spekta-23

Description of the bug

The global content rating filter can incorrectly hide valid movies and TV shows when the selected filter is restrictive, such as PG-13, and the title does not have a US classification. The issue is caused by the rating flow relying too heavily on US certifications and, in the TMDB catalog path, previously applying a US-only certification filter before metadata enrichment.

As a result, titles that have non-US/local classifications but no US classification can be filtered out even when their local classification is within the configured maximum rating.

Affected feature

Content Filters → Content Rating

The affected setting is the global ageRating option, which supports None, G, PG, PG-13, R, and NC-17. The project treats series ratings as TV equivalents, for example PG-13 maps to TV-14. 

Steps to reproduce

With ageRating=PG-13, some titles are incorrectly hidden:

  • Tall Girl appears, but Tall Girl 2 is filtered out.
  • Ben 10 Omniverse appears, but Pokemon is filtered out.

Expected behavior

The content rating filter should:

Fetch catalog/search/trending results.

Enrich each result with metadata, including all available rating information.

Evaluate the result against the user’s configured maximum rating.

Consider both canonical/US and local classifications when available.

Keep a title if at least one known, interpretable rating is at or below the configured maximum.

For example, a movie with no US rating but a local 12 classification should be allowed under a PG-13 filter. The documented intended flow now states that the filter checks app_extras.certification, app_extras.certificationLocal, certification, and contentRating, and normalizes non-US/numeric labels such as 12, 12+, 16, 18, MA15+, and R18+.

Environment

Self-hosted (Docker)

Server Logs / Browser Console Errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions