jellyfin / jellyfin-plugin-tvdb

GNU General Public License v3.0
50 stars 32 forks source link

TVDB metadata updates are not handled properly #155

Open sannidhyaroy opened 2 months ago

sannidhyaroy commented 2 months ago

When TVDB doesn't have an English translation available for a recently releases episode (example: the current Demon Slayer S5 episodes get English descriptions after two or three days after airing), it fetches the description in the original language (Japanese in the case of the above example), even though I haven't set a fallback language. This issue is mentioned in #150.

After the English translated descriptions are on TVDB, Jellyfin still doesn't update them and I have those Japanese descriptions as metadata. If I do a Refresh Metadata by right-clicking on the episode, nothing works. The Scheduled Task of TheTVDB Plugin to Check for metadata updates also doesn't update those existing Japanese metadata. The only workaround for me is to edit the metadata and remove the entire description and then run Refesh Metadata > Search for missing metadata, and then it pulls the English description (if available). And I have to repeat these steps for each and every episode.

Manually checking for when the translated metadata is available for every episode and then editing it's metadata and refreshing them requires too much manual intervention when there are lot of episodes automatically pulled by Sonarr everyday when it airs.

scampower3 commented 2 months ago

Is the scheduled task being set as a recurring task? It only checks for recently updated metadata, i.e. metadata that has been added 2hs ago.

Also, when you do Refresh Metadata, are you doing a Replace all metadata refresh? Did you clear the cache when the time difference between the initial retrieval and refresh is less than the Cache time in hours?

sannidhyaroy commented 2 months ago

@scampower3 I didn't set it as a recurring task as I didn't initially understand what it was supposed to do, as to me it seemed that either it was buggy or it was meant for other purposes cuz it didn't refresh my metadata. I usually try to run the task manually from the Scheduled Tasks page, but I don't see it refetching and editing those descriptions that are in Japanese.

scampower3 commented 2 months ago

To be clearer, it only checks if there is any metadata updates on the provider's end for the past set hours. It can be set in Metadata Update In Hours in settings.

sannidhyaroy commented 2 months ago

I think it is set to 2 hours by default and I haven't changed it. But I don't think that's the issue here cuz there are episodes that have their English translated metadata available weeks ago, but the plugin doesn't refetch them when the task runs. Although, the logs say that the task runs successfully and there are no errors.

scampower3 commented 2 months ago

That is because it only retrieves the updated metadata if the metadata is updated at the TheTvdb's end less than 2h ago. If it is more than that, it won't retrieve it.

sannidhyaroy commented 2 months ago

Sorry, my bad. I guess I didn't clearly understand the feature, but after you clarified it, I set the Metadata Update to 5 hours and Cache time in hours to 1 and Cache time in days to 7, I can now see that it is working properly. Sorry for the late reply as I wanted to test the feature out thoroughly before providing half-baked info in my comment. Demon Slayer S05E06 had no English translation available for almost 2 weeks, but today I can see that Jellyfin has fetched the newly available translated description for the episode.

The other issue that I mentioned (also mentioned in #150) seems to be merged, so maybe this issue can be closed.