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
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
ageRatingoption, which supportsNone,G,PG,PG-13,R, andNC-17. The project treats series ratings as TV equivalents, for examplePG-13maps toTV-14.Steps to reproduce
With
ageRating=PG-13, some titles are incorrectly hidden:Tall Girlappears, butTall Girl 2is filtered out.Ben 10 Omniverseappears, butPokemonis 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