jellyfin / jellyfin-plugin-anilist

GNU General Public License v2.0
37 stars 22 forks source link

Version 6 - Plugin disabled on launch #45

Closed fearnlj01 closed 1 year ago

fearnlj01 commented 1 year ago

Hi,

I just updated Jellyfin Server from 10.8.10 -> 10.8.12 in order to try out v6 of the plugin.

When on the updated version of Jellyfin Server, there are no issues using v5 of the plugin, and this seems to behave exactly as it has done before.

After booting Jellyfin Server with v6 however, the following appears in the logs.

[2023-11-09 23:53:41.992 +00:00] [ERR] [1] Emby.Server.Implementations.Plugins.PluginManager: Error creating "Jellyfin.Plugin.AniList.Plugin"
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Extensions.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.
File name: 'Microsoft.Extensions.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
   at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
   at System.Reflection.RuntimeConstructorInfo.<get_Signature>g__LazyCreateSignature|19_0()
   at System.Reflection.RuntimeConstructorInfo.GetParametersNoCopy()
   at System.Reflection.RuntimeConstructorInfo.GetParameters()
   at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)
   at Emby.Server.Implementations.Plugins.PluginManager.CreatePluginInstance(Type type)
[2023-11-09 23:53:42.005 +00:00] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Plugin "C:\ProgramData\Jellyfin\Server\plugins\AniList_6.0.0.0" has been disabled.

If I change the two dependencies listed in the .csproj file, to both be version 6.0.0 and build the plugin, overwriting the dll in C:\ProgramData\Jellyfin\Server\plugins\AniList_6.0.0.0, the plugin is no longer disabled on the launch of Jellyfin Server.

I then enabled the "Use the Anitomy library to resolve titles" option, and refreshed the metadata for a series, in which case I got the below in the logs...

[2023-11-10 00:01:08.420 +00:00] [ERR] [21] MediaBrowser.Providers.TV.SeriesMetadataService: Error in "AniList"
System.IO.FileNotFoundException: Could not load file or assembly 'AnitomySharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
File name: 'AnitomySharp, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null'
   at Jellyfin.Plugin.AniList.Anitomy.AnitomyHelper.ExtractAnimeTitle(String path)
   at Jellyfin.Plugin.AniList.Providers.AniList.AniListSeriesProvider.GetMetadata(SeriesInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)

I then did a dotnet publish, and additionaly copied the AnitomySharp.dll file from the output into the C:\ProgramData\Jellyfin\Server\plugins\AniList_6.0.0.0 directory and relaunched Jellyfin Server.

Repeated the previous test, and it looks like the plugin was fully functional this time round. Not too sure what would need to be done to get this working for "the masses", so I'm just opening the issue with my findings instead!

crobibero commented 1 year ago

v7 has been released with the dependency update reverted

boydaihungst commented 11 months ago

I still got this bug in v7. Some how the plugins page show that I used v6 (look like you forgot to update Directory.Build.props. Tried to manually update and reinstall using release .zip file doesn't change any thing.

In Plugins web page image

in /var/lib/jellyfin/plugins/ image

systemd log image

zuilintan commented 7 months ago

同样的问题

crobibero commented 7 months ago

I fought with this plugin for quite a while today, v8 is actually v8. You may need to manually remove v6/v7.

zuilintan commented 7 months ago

今天和这个插件吵了好一阵子,v8其实就是v8。您可能需要手动删除 v6/v7。

Can we directly update the version in Jellyfin? The practice of copying files from github is very unconventional, And cannot enter the setting item of Anilist again

zuilintan commented 7 months ago

今天和这个插件吵了好一阵子,v8其实就是v8。您可能需要手动删除 v6/v7。

Can we directly update the version in Jellyfin? The practice of copying files from github is very unconventional, And cannot enter the setting item of Anilist again

好吧, 似乎需要 Jellyfin升级至10.9.0

crobibero commented 7 months ago

Yes, the new plugin version is available in the official Jellyfin plugin repository