tubearchivist / tubearchivist-jf-plugin

Metadata for your TubeArchivist library on Jellyfin.
GNU General Public License v3.0
131 stars 6 forks source link

[Feature request]: Support for upcoming Jellyfin 10.9.0 #5

Closed bedast closed 5 months ago

bedast commented 6 months ago

Jellyfin has been teasing the upcoming release of 10.9.0 (feature freeze as of late March). The API appears to have changed, breaking plugins that don't support the updated API.

Including this plugin.

I am currently, encountering this error with Jellyfin Unstable (10.9 beta):

[15:40:23] [ERR] [3] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in TubeArchivist
System.MissingMethodException: Method not found: 'Void MediaBrowser.Controller.Entities.PersonInfo.set_Type(System.String)'.
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)

From what I can find, this is due to a change in the API.

The apparent effect: The plugin is able to pull images, but it is not able to update metadata.

While this is the unstable version of Jellyfin, 10.9 release is imminent: https://mastodon.online/@jellyfin/112168082567752243

DarkFighterLuke commented 6 months ago

Hi @bedast , thank you for noticing it. I will check the new APIs and update, thanks.

DarkFighterLuke commented 6 months ago

Hello @bedast , luckily only two lines of code had to be changed to support the upcoming Jellyfin release. The full support should be achieved with 195acd2f1b3f4d38d8c8dea7a9e9a7b28f8d3e8b. At the moment there is no new release of this plugin, but you can test the modifications in the jellyfin-10.9 branch following the build instructions in the README.md.

bedast commented 6 months ago

The build instructions are a bit out of date. The README notes and links to dotnet 6.x, but it appears to require 8.x.

Also the CLI noted to run is incorrect.

$ dotnet publish Jellyfin.Plugin.tubearchivist-jf-plugin --configuration Release --output bin

Should be changed to

$ dotnet publish Jellyfin.Plugin.TubeArchivistMetadata --configuration Release --output bin

I'm running into an issue building as it's not able to locate nuget packages for Jellyfin 10.9. I'll troubleshoot this a bit more as I'm not going to call this a documentation issue, but rather an issue trying to build against a pre-release of Jellyfin, and I run it through docker normally. I'm not strongly familiar with building dotnet projects but I'm sure I can get this one figured out.

DarkFighterLuke commented 6 months ago

Yeah, you're right, thanks for pointing out.

DarkFighterLuke commented 6 months ago

Hi @bedast , did you manage to build the plugin?

in4ri-01 commented 6 months ago

I tried building the jellyfin-10.9 using Microsoft .NET SDK 8.0.204 and got the following error $ dotnet publish Jellyfin.Plugin.TubeArchivistMetadata --configuration Release --output bin

MSBuild version 17.9.8+b34f75857 for .NET
  Determining projects to restore...
/home/user/git/tubearchivist-jf-plugin/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj : error NU1102: Unable to find package Jellyfin.Controller with version (>= 10.9.0-0)
/home/user/git/tubearchivist-jf-plugin/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj : error NU1102:   - Found 50 version(s) in nuget.org [ Nearest version: 10.8.13 ]
/home/user/git/tubearchivist-jf-plugin/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj : error NU1102: Unable to find package Jellyfin.Model with version (>= 10.9.0-0)
/home/user/git/tubearchivist-jf-plugin/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj : error NU1102:   - Found 50 version(s) in nuget.org [ Nearest version: 10.8.13 ]
  Failed to restore /home/user/git/tubearchivist-jf-plugin/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj (in 892 ms).

Checking https://www.nuget.org/profiles/Jellyfin it looks like the latest available versions are 10.8.13.

DarkFighterLuke commented 5 months ago

Yes, the problem is with the GitHub Nuget registry that needs to be added in dotnet sources.

Now that Jellyfin 10.9.1 has been officially released, you can use directly the version 1.3.0 of the plugin.