I don’t understand why you keep saying the edition title affects the credit page because I have edited the edition title for all my movies, and this doesn’t affect their appearance on the credit page. At least some can appear while others cannot. There are cases where movies with an edition title still show up on the credit page, so I believe saying that the edition title causes libraries not to appear on the credit page is completely wrong. It works on my end.
Then I think that is an issue specific to your server where Library 3 is broken.
Go find all of Emma Stone’s movies on your server across all libraries excluding any with edition titles. I expect one of the movies in Library 1 to have to lowest rating key.
The rating key can be found at the very end of the URL of the movie page.
Don’t mix up the different rows “Movies & Shows in Media Libraries” and “Media Libraries”.
I suspect those movies are appearing under “Movies & Shows in Media Libraries” for a different library than the one with the edition title.
The library is showing in “Media Libraries” because the actor has a movie in that library without any edition titles (and it has a lowest rating key).
All Emma Stone movies in my libraries have an edition title. Previously, La La Land in Library 3 also had an edition title, but I manually deleted its edition title, and the situation did not change at all.
This issue occurs not only with Library 3 but also with other libraries. It seems that newly created libraries are unable to appear on the credit page, while previously established libraries may or may not appear. The situation varies with different actors.
I’ll reiterate my situation: all my movies have an edition title, and many of them can be displayed on the credit page. Therefore, the edition title does not prevent libraries from appearing on the credit page.
La La Land in Library 3 also previously had an edition title; this image is from before I deleted the edition title.
This is getting really hard to explain without going deep into the technical details.
Do you mind sharing your libraries with my test account @TautulliTest so I can view your server data directly?
Yes, but you need to connect to my server through Plex Relay, as I do not have a public IP.
Plex Relay will work fine.
Not sure if it helps any, but I can also reproduce this. ie,
- Click on a movie from my own Plex server that isn’t in the two other servers that have been shared to me
- Click on an actor
- Actor page doesn’t show the movie within my library I just came from
I believe the edition title does not affect the appearance of libraries on the credit page. Instead, it is the lowest rating key that plays a role. In my case, since there are duplicate films across multiple libraries, only the library with the lowest rating key for those films appears on the credit page. The newly created libraries, which contain only duplicate films, do not appear on the credit page. However, when I added a film featuring Emma Stone that does not exist in any other library to Library 3, this library appeared on Emma Stone’s credit page, and this film also has an edition title.
Because there are duplicate films across multiple libraries, this is why some libraries appear while others do not. If a film exists in multiple libraries, only the library containing the film with the lowest rating key will appear on the credit page. Therefore, unless other libraries contain films with a lowest rating key in addition to this film, those other libraries will not be displayed.
However, I think this logic is not very reasonable. It should be modified to follow the logic of the film’s Discover Page, which lists all libraries containing films with the actor, rather than only listing the library containing the lowest rating key.
After restarting the client, Ryan Gosling’s credit page now displays Library 1.
The video ratingKey for La La Land in Library 1 is 55083
The video ratingKey for La La Land in Library 2 is 274915
The video ratingKey for La La Land in Library 3 is 331347
This is why the credit page only displays Library 1—it has the lowest video ratingKey.
However, there may still be other issues, as it seems to remain unstable—sometimes it works and sometimes it doesn’t. It needs to be investigated if there are other factors involved; typically, restarting the client seems to resolve the issue.
The logic of the film’s Discover Page is very reasonable. It not only displays all films and libraries but also is not restricted by the library’s visibility settings. The credit page should function in the same way.
If you really want to dig into that theory, you can temporarily enable the EnableDatabaseTrace flag and see the calls being made. From what I’m seeing, there’s no LIMIT to the initial id query (SELECT id from metadata_items where guid='<guid>' and id<>-1). That’s followed by a query for the metadata info, which does sort by id:
where
metadata_items.id in (352375, 350907)
and (
media_streams.extra_data is null
or media_streams.extra_data not like '%userID%'
or media_streams.extra_data like '%userID=1%'
)
order by
metadata_items.id,
media_items.width desc,
metadata_items.originally_available_at
I didn’t dig into anything beyond that though, so chances are there are additional queries (or filtering done outside of the DB queries) that’s limiting the results.
Thanks, I didn’t know that.
When visiting /library/metadata/<guid>, I can see the query:
SELECT id
FROM metadata_items
WHERE guid = '<guid>'
AND id <>- 1
And returns the following data where 3075 is the lowest id (rating key).
| id |
|---|
| 3075 |
| 3103 |
| 3899 |
This is then followed up by the query:
SELECT media_items.id AS 'media_items_id',
media_items.library_section_id AS 'media_items_library_section_id',
media_items.section_location_id AS 'media_items_section_location_id',
media_items.metadata_item_id AS 'media_items_metadata_item_id',
media_items.type_id AS 'media_items_type_id',
media_items.width AS 'media_items_width',
media_items.height AS 'media_items_height',
media_items.size AS 'media_items_size',
media_items.duration AS 'media_items_duration',
media_items.bitrate AS 'media_items_bitrate',
media_items.container AS 'media_items_container',
media_items.video_codec AS 'media_items_video_codec',
media_items.audio_codec AS 'media_items_audio_codec',
media_items.display_aspect_ratio AS 'media_items_display_aspect_ratio',
media_items.frames_per_second AS 'media_items_frames_per_second',
media_items.audio_channels AS 'media_items_audio_channels',
media_items.interlaced AS 'media_items_interlaced',
media_items.source AS 'media_items_source',
media_items.hints AS 'media_items_hints',
media_items.display_offset AS 'media_items_display_offset',
media_items.settings AS 'media_items_settings',
media_items.created_at AS 'media_items_created_at',
media_items.updated_at AS 'media_items_updated_at',
media_items.optimized_for_streaming AS 'media_items_optimized_for_streaming',
media_items.deleted_at AS 'media_items_deleted_at',
media_items.media_analysis_version AS 'media_items_media_analysis_version',
media_items.sample_aspect_ratio AS 'media_items_sample_aspect_ratio',
media_items.proxy_type AS 'media_items_proxy_type',
media_items.extra_data AS 'media_items_extra_data',
media_items.channel_id AS 'media_items_channel_id',
media_items.begins_at AS 'media_items_begins_at',
media_items.ends_at AS 'media_items_ends_at',
media_items.color_trc AS 'media_items_color_trc',
metadata_items.id AS 'metadata_items_id',
metadata_items.library_section_id AS 'metadata_items_library_section_id',
metadata_items.parent_id AS 'metadata_items_parent_id',
metadata_items.metadata_type AS 'metadata_items_metadata_type',
metadata_items.guid AS 'metadata_items_guid',
metadata_items.slug AS 'metadata_items_slug',
metadata_items.hash AS 'metadata_items_hash',
metadata_items.media_item_count AS 'metadata_items_media_item_count',
metadata_items.title AS 'metadata_items_title',
metadata_items.title_sort AS 'metadata_items_title_sort',
metadata_items.original_title AS 'metadata_items_original_title',
metadata_items.studio AS 'metadata_items_studio',
metadata_items.rating AS 'metadata_items_rating',
metadata_items.audience_rating AS 'metadata_items_audience_rating',
metadata_items.rating_count AS 'metadata_items_rating_count',
metadata_items.tagline AS 'metadata_items_tagline',
metadata_items.edition_title AS 'metadata_items_edition_title',
metadata_items.summary AS 'metadata_items_summary',
metadata_items.content_rating AS 'metadata_items_content_rating',
metadata_items.content_rating_age AS 'metadata_items_content_rating_age',
metadata_items.'index' AS 'metadata_items_index',
metadata_items.absolute_index AS 'metadata_items_absolute_index',
metadata_items.duration AS 'metadata_items_duration',
metadata_items.user_thumb_url AS 'metadata_items_user_thumb_url',
metadata_items.user_art_url AS 'metadata_items_user_art_url',
metadata_items.user_banner_url AS 'metadata_items_user_banner_url',
metadata_items.user_music_url AS 'metadata_items_user_music_url',
metadata_items.user_fields AS 'metadata_items_user_fields',
metadata_items.originally_available_at AS 'metadata_items_originally_available_at',
metadata_items.available_at AS 'metadata_items_available_at',
metadata_items.expires_at AS 'metadata_items_expires_at',
metadata_items.refreshed_at AS 'metadata_items_refreshed_at',
metadata_items.year AS 'metadata_items_year',
metadata_items.added_at AS 'metadata_items_added_at',
metadata_items.created_at AS 'metadata_items_created_at',
metadata_items.updated_at AS 'metadata_items_updated_at',
metadata_items.changed_at AS 'metadata_items_changed_at',
metadata_items.resources_changed_at AS 'metadata_items_resources_changed_at',
metadata_items.tags_genre AS 'metadata_items_tags_genre',
metadata_items.tags_collection AS 'metadata_items_tags_collection',
metadata_items.tags_director AS 'metadata_items_tags_director',
metadata_items.tags_writer AS 'metadata_items_tags_writer',
metadata_items.tags_star AS 'metadata_items_tags_star',
metadata_items.deleted_at AS 'metadata_items_deleted_at',
metadata_items.tags_country AS 'metadata_items_tags_country',
metadata_items.extra_data AS 'metadata_items_extra_data',
media_parts.id AS 'media_parts_id',
media_parts.media_item_id AS 'media_parts_media_item_id',
media_parts.directory_id AS 'media_parts_directory_id',
media_parts.hash AS 'media_parts_hash',
media_parts.open_subtitle_hash AS 'media_parts_open_subtitle_hash',
media_parts.FILE AS 'media_parts_file',
media_parts.'index' AS 'media_parts_index',
media_parts.size AS 'media_parts_size',
media_parts.duration AS 'media_parts_duration',
media_parts.created_at AS 'media_parts_created_at',
media_parts.updated_at AS 'media_parts_updated_at',
media_parts.deleted_at AS 'media_parts_deleted_at',
media_parts.extra_data AS 'media_parts_extra_data',
metadata_item_settings.id AS 'metadata_item_settings_id',
metadata_item_settings.account_id AS 'metadata_item_settings_account_id',
metadata_item_settings.guid AS 'metadata_item_settings_guid',
metadata_item_settings.rating AS 'metadata_item_settings_rating',
metadata_item_settings.view_offset AS 'metadata_item_settings_view_offset',
metadata_item_settings.view_count AS 'metadata_item_settings_view_count',
metadata_item_settings.last_viewed_at AS 'metadata_item_settings_last_viewed_at',
metadata_item_settings.created_at AS 'metadata_item_settings_created_at',
metadata_item_settings.updated_at AS 'metadata_item_settings_updated_at',
metadata_item_settings.skip_count AS 'metadata_item_settings_skip_count',
metadata_item_settings.last_skipped_at AS 'metadata_item_settings_last_skipped_at',
metadata_item_settings.last_rated_at AS 'metadata_item_settings_last_rated_at',
metadata_item_settings.extra_data AS 'metadata_item_settings_extra_data',
metadata_item_settings.changed_at AS 'metadata_item_settings_changed_at' ,
media_item_settings.id AS 'media_item_settings_id',
media_item_settings.account_id AS 'media_item_settings_account_id',
media_item_settings.media_item_id AS 'media_item_settings_media_item_id',
media_item_settings.settings AS 'media_item_settings_settings',
media_item_settings.created_at AS 'media_item_settings_created_at',
media_item_settings.updated_at AS 'media_item_settings_updated_at',
media_part_settings.id AS 'media_part_settings_id',
media_part_settings.account_id AS 'media_part_settings_account_id',
media_part_settings.media_part_id AS 'media_part_settings_media_part_id',
media_part_settings.selected_audio_stream_id AS 'media_part_settings_selected_audio_stream_id',
media_part_settings.selected_subtitle_stream_id AS 'media_part_settings_selected_subtitle_stream_id',
media_part_settings.settings AS 'media_part_settings_settings',
media_part_settings.created_at AS 'media_part_settings_created_at',
media_part_settings.updated_at AS 'media_part_settings_updated_at',
media_part_settings.changed_at AS 'media_part_settings_changed_at',
media_streams.id AS 'media_streams_id',
media_streams.stream_type_id AS 'media_streams_stream_type_id',
media_streams.media_item_id AS 'media_streams_media_item_id',
media_streams.media_part_id AS 'media_streams_media_part_id',
media_streams.url AS 'media_streams_url',
media_streams.'index' AS 'media_streams_index',
media_streams.codec AS 'media_streams_codec',
media_streams.language AS 'media_streams_language',
media_streams.created_at AS 'media_streams_created_at',
media_streams.updated_at AS 'media_streams_updated_at',
media_streams.channels AS 'media_streams_channels',
media_streams.bitrate AS 'media_streams_bitrate',
media_streams.url_index AS 'media_streams_url_index',
media_streams.'default' AS 'media_streams_default',
media_streams.forced AS 'media_streams_forced',
media_streams.extra_data AS 'media_streams_extra_data',
media_stream_settings.id AS 'media_stream_settings_id',
media_stream_settings.account_id AS 'media_stream_settings_account_id',
media_stream_settings.media_stream_id AS 'media_stream_settings_media_stream_id',
media_stream_settings.extra_data AS 'media_stream_settings_extra_data',
media_stream_settings.created_at AS 'media_stream_settings_created_at',
media_stream_settings.updated_at AS 'media_stream_settings_updated_at',
grandparents.id AS metadata_items_grandparents_id,
grandparents.title AS metadata_items_grandparents_title,
grandparents.user_thumb_url AS metadata_items_grandparents_user_thumb_url,
grandparents.user_art_url AS metadata_items_grandparents_user_art_url,
grandparents.user_music_url AS metadata_items_grandparents_user_music_url,
grandparents.content_rating AS metadata_items_grandparents_content_rating,
grandparents.updated_at AS metadata_items_grandparents_updated_at,
grandparents.guid AS metadata_items_grandparents_guid,
grandparents.slug AS metadata_items_grandparents_slug,
grandparents.extra_data AS metadata_items_grandparents_extra_data,
grandparents.title_sort AS metadata_items_grandparents_title_sort,
parents.user_thumb_url AS metadata_items_parents_user_thumb_url,
parents.user_art_url AS metadata_items_parents_user_art_url,
parents.user_music_url AS metadata_items_parents_user_music_url,
parents.added_at AS metadata_items_parents_added_at,
parents.updated_at AS metadata_items_parents_updated_at,
parents.`INDEX` AS metadata_items_parents_index,
parents.guid AS metadata_items_parents_guid,
parents.slug AS metadata_items_parents_slug,
parents.title AS metadata_items_parents_title,
parents.studio AS metadata_items_parents_studio,
parents.title_sort AS metadata_items_parents_title_sort,
parents.year AS metadata_items_parents_year
FROM metadata_items
LEFT JOIN media_items
ON media_items.metadata_item_id=metadata_items.id
LEFT JOIN media_parts
ON media_parts.media_item_id=media_items.id
LEFT JOIN metadata_item_settings
ON metadata_item_settings.guid=metadata_items.guid
AND metadata_item_settings.account_id=1
LEFT JOIN metadata_items AS parents
ON parents.id=metadata_items.parent_id
LEFT JOIN metadata_items AS grandparents
ON grandparents.id=parents.parent_id
LEFT JOIN media_item_settings
ON media_item_settings.media_item_id=media_items.id
AND media_item_settings.account_id=1
LEFT JOIN media_part_settings
ON media_part_settings.media_part_id=media_parts.id
AND media_part_settings.account_id=1
LEFT JOIN media_streams
ON media_streams.media_part_id=media_parts.id
LEFT JOIN media_stream_settings
ON media_stream_settings.media_stream_id=media_streams.id
AND media_stream_settings.account_id=1
WHERE metadata_items.id IN (3075)
AND (
media_streams.extra_data IS NULL
OR media_streams.extra_data NOT LIKE '%userID%'
OR media_streams.extra_data LIKE '%userID=1%')
ORDER BY metadata_items.id,
media_items.width DESC,
metadata_items.originally_available_at
The key line is the WHERE clause only checks the one id. I don’t see it ever querying the other ids.
WHERE metadata_items.id IN (3075)
So somewhere between the first query and second query the ids are dropped (outside of the database).
I understand that. The point of that screenshot was that Plex was listing a film in association with Billy Crystal, but not the Plex Library the film comes from.
Also, if Plex doesn’t want to acknowledge alternate-language voice talent on a program, it should be consistent in doing so. So the movie shouldn’t be appearing on his page anyway. Isn’t is kinda awkward to have a movie show up on an actor’s page, choose it, and be taken to a page that doesn’t show them anywhere?
@x1ao4 I’ve filed a new issue for the missing libraries when a person’s credits exist across multiple libraries. This looks to be a PMS issue and not specific to any one client as it’s reproducible across clients. Just use one library
jkjk. Thanks for reporting.
And thank you @SwiftPanda16 for the deep dive!
Hope to see this resolved as it makes the discovery pages kind of useless as I have a lot of firms with editions
@Atomatth It’s been a year since I reported this, is there any info on when it will be fixed? I’d really like to upgrade for better transcoding but I use the actor credits from movies to much.
@Commodore1581 This thread as become a bit bloated and has several issues being discussed (Edition support, voice actor, people across multiple libraries). As for your issue, there is another thread that is more similar to you’re initial issue. The couple of users there have reported that the fix, I posted further up in this thread, successfully resolved their issue.
If you still have reservations but want to update then download a backup of your DB and give it a go.
I backed up my database folder and I installed the latest beta off the downloads page.
No, it doesn’t fix the issue. It still only shows the other servers I’m connected to and not mine for actors and actor credits. It does properly update if i click a actor, click back, click the actor, click back, and wait like 5 minutes but then when i close out plex and reopen it, the actor page goes back to not showing my server
Also, I don’t use the web interface, only the android or desktop app so refreshing the page through my browser wont fix anything
ok, i updated metadata and now it still does the same thing but once it populates the actor with my titles it sorta seems to stick on close. But some movies aren’t being linked to the actor correctly on the credits page. If i click the actor it shows them in that movie on my server but the actor credit list still shows that i don’t have x movie but is available on the server after it populated the rest of the list correctly
Can you provide the app version for the desktop app? Are you seeing the issue on your Android app too? If so, can you provide the version?
Can you try using a browser and using app.plex.tv is see if the issue is there?

